diff options
Diffstat (limited to 'src/transport/gnunet-service-tng.c')
-rw-r--r-- | src/transport/gnunet-service-tng.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/src/transport/gnunet-service-tng.c b/src/transport/gnunet-service-tng.c index 447e9fa5d..d92964654 100644 --- a/src/transport/gnunet-service-tng.c +++ b/src/transport/gnunet-service-tng.c | |||
@@ -145,7 +145,7 @@ struct GNUNET_STATISTICS_Handle *GST_stats; | |||
145 | const struct GNUNET_CONFIGURATION_Handle *GST_cfg; | 145 | const struct GNUNET_CONFIGURATION_Handle *GST_cfg; |
146 | 146 | ||
147 | /** | 147 | /** |
148 | * Configuration handle. | 148 | * Our public key. |
149 | */ | 149 | */ |
150 | struct GNUNET_PeerIdentity GST_my_identity; | 150 | struct GNUNET_PeerIdentity GST_my_identity; |
151 | 151 | ||
@@ -588,6 +588,31 @@ handle_send_message_ack (void *cls, | |||
588 | 588 | ||
589 | 589 | ||
590 | /** | 590 | /** |
591 | * Initialize a monitor client. | ||
592 | * | ||
593 | * @param cls the client | ||
594 | * @param start the start message that was sent | ||
595 | */ | ||
596 | static void | ||
597 | handle_monitor_start (void *cls, | ||
598 | const struct GNUNET_TRANSPORT_MonitorStart *start) | ||
599 | { | ||
600 | struct TransportClient *tc = cls; | ||
601 | |||
602 | if (CT_NONE != tc->type) | ||
603 | { | ||
604 | GNUNET_break (0); | ||
605 | GNUNET_SERVICE_client_drop (tc->client); | ||
606 | return; | ||
607 | } | ||
608 | tc->type = CT_MONITOR; | ||
609 | tc->details.monitor_peer = start->peer; | ||
610 | // FIXME: remember also the one_shot flag! | ||
611 | GNUNET_SERVICE_client_continue (tc->client); | ||
612 | } | ||
613 | |||
614 | |||
615 | /** | ||
591 | * Function called when the service shuts down. Unloads our plugins | 616 | * Function called when the service shuts down. Unloads our plugins |
592 | * and cancels pending validations. | 617 | * and cancels pending validations. |
593 | * | 618 | * |
@@ -708,6 +733,11 @@ GNUNET_SERVICE_MAIN | |||
708 | GNUNET_MESSAGE_TYPE_TRANSPORT_SEND_MSG_ACK, | 733 | GNUNET_MESSAGE_TYPE_TRANSPORT_SEND_MSG_ACK, |
709 | struct GNUNET_TRANSPORT_SendMessageToAck, | 734 | struct GNUNET_TRANSPORT_SendMessageToAck, |
710 | NULL), | 735 | NULL), |
736 | /* communication with monitors */ | ||
737 | GNUNET_MQ_hd_fixed_size (monitor_start, | ||
738 | GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_START, | ||
739 | struct GNUNET_TRANSPORT_MonitorStart, | ||
740 | NULL), | ||
711 | GNUNET_MQ_handler_end ()); | 741 | GNUNET_MQ_handler_end ()); |
712 | 742 | ||
713 | 743 | ||