+ if (0==strcmp(s, TR_MQMSG_TRPS_CONNECTED)) {
+ TR_NAME *gssname=(TR_NAME *)tr_mq_msg_get_payload(msg);
+ TRP_PEER *peer=trps_get_peer_by_gssname(trps, gssname);
+ if (peer==NULL)
+ tr_err("tr_trps_process_mq: incoming connection to unknown peer (%s) reported.", gssname->buf);
+ else {
+ trp_peer_set_incoming_status(peer, PEER_CONNECTED);
+ tr_err("tr_trps_process_mq: incoming connection to %s established.", gssname->buf);
+ }
+ }
+ else if (0==strcmp(s, TR_MQMSG_TRPS_DISCONNECTED)) {
+ TRP_CONNECTION *conn=talloc_get_type_abort(tr_mq_msg_get_payload(msg), TRP_CONNECTION);
+ TR_NAME *gssname=trp_connection_get_gssname(conn);
+ TRP_PEER *peer=trps_get_peer_by_gssname(trps, gssname);
+ if (peer==NULL) {
+ tr_err("tr_trps_process_mq: disconnection of unknown peer (%s) reported.",
+ trp_connection_get_gssname(conn)->buf);
+ } else {
+ trp_peer_set_incoming_status(peer, PEER_DISCONNECTED);
+ tr_trps_cleanup_conn(trps, conn);
+ tr_err("tr_trps_process_mq: incoming connection to %s lost.", gssname->buf);
+ }
+ }
+ else if (0==strcmp(s, TR_MQMSG_TRPC_CONNECTED)) {
+ TR_NAME *svcname=(TR_NAME *)tr_mq_msg_get_payload(msg);
+ TRP_PEER *peer=trps_get_peer_by_servicename(trps, svcname);
+ if (peer==NULL)
+ tr_err("tr_trps_process_mq: connection to unknown peer (%s) reported.", svcname->buf);
+ else {
+ trp_peer_set_outgoing_status(peer, PEER_CONNECTED);
+ tr_err("tr_trps_process_mq: outgoing connection to %s established.", svcname->buf);
+ }