aboutsummaryrefslogtreecommitdiff
path: root/src/transport/transport.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2014-10-23 10:22:47 +0000
committerChristian Grothoff <christian@grothoff.org>2014-10-23 10:22:47 +0000
commit1aa2d5f160da455dd68c3d8be6f6e9ebf5b46d98 (patch)
tree31e603504e51779e469c8548993235ffe7a219ff /src/transport/transport.h
parentff4676cf541590707a7038cdd8b2e863c69c03a4 (diff)
downloadgnunet-1aa2d5f160da455dd68c3d8be6f6e9ebf5b46d98.tar.gz
gnunet-1aa2d5f160da455dd68c3d8be6f6e9ebf5b46d98.zip
define transport plugin monitor IPC format
Diffstat (limited to 'src/transport/transport.h')
-rw-r--r--src/transport/transport.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/transport/transport.h b/src/transport/transport.h
index 40349c57c..87bfeb386 100644
--- a/src/transport/transport.h
+++ b/src/transport/transport.h
@@ -590,6 +590,65 @@ struct BlacklistMessage
590 struct GNUNET_PeerIdentity peer; 590 struct GNUNET_PeerIdentity peer;
591 591
592}; 592};
593
594
595/**
596 * Transport-level connection status update.
597 */
598struct TransportPluginMonitorMessage
599{
600
601 /**
602 * Type will be #GNUNET_MESSAGE_TYPE_TRANSPORT_PLUGIN_MONITOR_EVENT.
603 */
604 struct GNUNET_MessageHeader header;
605
606 /**
607 * An `enum GNUNET_TRANSPORT_SessionState` in NBO.
608 */
609 int32_t session_state GNUNET_PACKED;
610
611 /**
612 * Number of messages waiting transmission.
613 */
614 uint32_t msgs_pending GNUNET_PACKED;
615
616 /**
617 * Number of bytes waiting for transmission.
618 */
619 uint32_t bytes_pending GNUNET_PACKED;
620
621 /**
622 * When will this transport plugin session time out?
623 */
624 struct GNUNET_TIME_AbsoluteNBO timeout;
625
626 /**
627 * What is the expected latency?
628 */
629 struct GNUNET_TIME_RelativeNBO delay;
630
631 /**
632 * Which peer is this connection for?
633 */
634 struct GNUNET_PeerIdentity peer;
635
636 /**
637 * Length of the plugin name in bytes, excluding 0-termination.
638 */
639 uint16_t plugin_name_len GNUNET_PACKED;
640
641 /**
642 * Length of the plugin address in bytes.
643 */
644 uint16_t plugin_address_len GNUNET_PACKED;
645
646 /* followed by 0-terminated plugin name and
647 @e plugin_address_len bytes of plugin address */
648
649};
650
651
593GNUNET_NETWORK_STRUCT_END 652GNUNET_NETWORK_STRUCT_END
594 653
595/* end of transport.h */ 654/* end of transport.h */