aboutsummaryrefslogtreecommitdiff
path: root/src/transport/transport.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport/transport.h')
-rw-r--r--src/transport/transport.h63
1 files changed, 49 insertions, 14 deletions
diff --git a/src/transport/transport.h b/src/transport/transport.h
index e68536bcc..1b46213cf 100644
--- a/src/transport/transport.h
+++ b/src/transport/transport.h
@@ -11,7 +11,7 @@
11 WITHOUT ANY WARRANTY; without even the implied warranty of 11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Affero General Public License for more details. 13 Affero General Public License for more details.
14 14
15 You should have received a copy of the GNU Affero General Public License 15 You should have received a copy of the GNU Affero General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. 16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/ 17*/
@@ -94,7 +94,7 @@ struct StartMessage
94 94
95 /** 95 /**
96 * 0: no options 96 * 0: no options
97 * 1: The 'self' field should be checked 97 * 1: The @e self field should be checked
98 * 2: this client is interested in payload traffic 98 * 2: this client is interested in payload traffic
99 */ 99 */
100 uint32_t options; 100 uint32_t options;
@@ -404,6 +404,7 @@ struct ValidationIterateResponseMessage
404 struct GNUNET_TIME_AbsoluteNBO next_validation; 404 struct GNUNET_TIME_AbsoluteNBO next_validation;
405}; 405};
406 406
407
407/** 408/**
408 * Message from the library to the transport service 409 * Message from the library to the transport service
409 * asking for binary addresses known for a peer. 410 * asking for binary addresses known for a peer.
@@ -654,6 +655,22 @@ struct TransportPluginMonitorMessage
654/* *********************** TNG messages ***************** */ 655/* *********************** TNG messages ***************** */
655 656
656/** 657/**
658 * Communicator goes online. Note which addresses it can
659 * work with.
660 */
661struct GNUNET_TRANSPORT_CommunicatorAvailableMessage
662{
663
664 /**
665 * Type will be #GNUNET_MESSAGE_TYPE_TRANSPORT_NEW_COMMUNICATOR.
666 */
667 struct GNUNET_MessageHeader header;
668
669 /* Followed by the address prefix of the communicator */
670};
671
672
673/**
657 * Add address to the list. 674 * Add address to the list.
658 */ 675 */
659struct GNUNET_TRANSPORT_AddAddressMessage 676struct GNUNET_TRANSPORT_AddAddressMessage
@@ -678,7 +695,7 @@ struct GNUNET_TRANSPORT_AddAddressMessage
678 * An `enum GNUNET_ATS_Network_Type` in NBO. 695 * An `enum GNUNET_ATS_Network_Type` in NBO.
679 */ 696 */
680 uint32_t nt; 697 uint32_t nt;
681 698
682 /* followed by UTF-8 encoded, 0-terminated human-readable address */ 699 /* followed by UTF-8 encoded, 0-terminated human-readable address */
683}; 700};
684 701
@@ -717,12 +734,12 @@ struct GNUNET_TRANSPORT_IncomingMessage
717 * Do we use flow control or not? 734 * Do we use flow control or not?
718 */ 735 */
719 uint32_t fc_on GNUNET_PACKED; 736 uint32_t fc_on GNUNET_PACKED;
720 737
721 /** 738 /**
722 * 64-bit number to identify the matching ACK. 739 * 64-bit number to identify the matching ACK.
723 */ 740 */
724 uint64_t fc_id GNUNET_PACKED; 741 uint64_t fc_id GNUNET_PACKED;
725 742
726 /** 743 /**
727 * Sender identifier. 744 * Sender identifier.
728 */ 745 */
@@ -748,12 +765,12 @@ struct GNUNET_TRANSPORT_IncomingMessageAck
748 * Reserved (0) 765 * Reserved (0)
749 */ 766 */
750 uint32_t reserved GNUNET_PACKED; 767 uint32_t reserved GNUNET_PACKED;
751 768
752 /** 769 /**
753 * Which message is being ACKed? 770 * Which message is being ACKed?
754 */ 771 */
755 uint64_t fc_id GNUNET_PACKED; 772 uint64_t fc_id GNUNET_PACKED;
756 773
757 /** 774 /**
758 * Sender identifier of the original message. 775 * Sender identifier of the original message.
759 */ 776 */
@@ -769,7 +786,7 @@ struct GNUNET_TRANSPORT_AddQueueMessage
769{ 786{
770 787
771 /** 788 /**
772 * Type will be #GNUNET_MESSAGE_TYPE_TRANSPORT_ADD_QUEUE. 789 * Type will be #GNUNET_MESSAGE_TYPE_TRANSPORT_QUEUE_SETUP.
773 */ 790 */
774 struct GNUNET_MessageHeader header; 791 struct GNUNET_MessageHeader header;
775 792
@@ -787,7 +804,7 @@ struct GNUNET_TRANSPORT_AddQueueMessage
787 * An `enum GNUNET_ATS_Network_Type` in NBO. 804 * An `enum GNUNET_ATS_Network_Type` in NBO.
788 */ 805 */
789 uint32_t nt; 806 uint32_t nt;
790 807
791 /* followed by UTF-8 encoded, 0-terminated human-readable address */ 808 /* followed by UTF-8 encoded, 0-terminated human-readable address */
792}; 809};
793 810
@@ -799,7 +816,7 @@ struct GNUNET_TRANSPORT_DelQueueMessage
799{ 816{
800 817
801 /** 818 /**
802 * Type will be #GNUNET_MESSAGE_TYPE_TRANSPORT_DEL_QUEUE. 819 * Type will be #GNUNET_MESSAGE_TYPE_TRANSPORT_QUEUE_TEARDOWN.
803 */ 820 */
804 struct GNUNET_MessageHeader header; 821 struct GNUNET_MessageHeader header;
805 822
@@ -828,9 +845,9 @@ struct GNUNET_TRANSPORT_CreateQueue
828 struct GNUNET_MessageHeader header; 845 struct GNUNET_MessageHeader header;
829 846
830 /** 847 /**
831 * Always zero. 848 * Unique ID for the request.
832 */ 849 */
833 uint32_t reserved GNUNET_PACKED; 850 uint32_t request_id GNUNET_PACKED;
834 851
835 /** 852 /**
836 * Receiver that can be addressed via the queue. 853 * Receiver that can be addressed via the queue.
@@ -842,6 +859,24 @@ struct GNUNET_TRANSPORT_CreateQueue
842 859
843 860
844/** 861/**
862 * Transport tells communicator that it wants a new queue.
863 */
864struct GNUNET_TRANSPORT_CreateQueueResponse
865{
866
867 /**
868 * Type will be #GNUNET_MESSAGE_TYPE_TRANSPORT_QUEUE_CREATE_OK or #GNUNET_MESSAGE_TYPE_TRANSPORT_QUEUE_CREATE_FAIL.
869 */
870 struct GNUNET_MessageHeader header;
871
872 /**
873 * Unique ID for the request.
874 */
875 uint32_t request_id GNUNET_PACKED;
876};
877
878
879/**
845 * Inform communicator about transport's desire to send a message. 880 * Inform communicator about transport's desire to send a message.
846 */ 881 */
847struct GNUNET_TRANSPORT_SendMessageTo 882struct GNUNET_TRANSPORT_SendMessageTo
@@ -861,7 +896,7 @@ struct GNUNET_TRANSPORT_SendMessageTo
861 * Message ID, used for flow control. 896 * Message ID, used for flow control.
862 */ 897 */
863 uint64_t mid GNUNET_PACKED; 898 uint64_t mid GNUNET_PACKED;
864 899
865 /** 900 /**
866 * Receiver identifier. 901 * Receiver identifier.
867 */ 902 */
@@ -891,7 +926,7 @@ struct GNUNET_TRANSPORT_SendMessageToAck
891 * Message ID of the original message. 926 * Message ID of the original message.
892 */ 927 */
893 uint64_t mid GNUNET_PACKED; 928 uint64_t mid GNUNET_PACKED;
894 929
895 /** 930 /**
896 * Receiver identifier. 931 * Receiver identifier.
897 */ 932 */