gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r29816 - gnunet/src/conversation


From: gnunet
Subject: [GNUnet-SVN] r29816 - gnunet/src/conversation
Date: Thu, 3 Oct 2013 13:59:41 +0200

Author: grothoff
Date: 2013-10-03 13:59:41 +0200 (Thu, 03 Oct 2013)
New Revision: 29816

Modified:
   gnunet/src/conversation/conversation.h
Log:
-ipc message design

Modified: gnunet/src/conversation/conversation.h
===================================================================
--- gnunet/src/conversation/conversation.h      2013-10-03 11:16:50 UTC (rev 
29815)
+++ gnunet/src/conversation/conversation.h      2013-10-03 11:59:41 UTC (rev 
29816)
@@ -386,9 +386,10 @@
   struct GNUNET_MessageHeader header;
 };
 
+////////////////////////////////////////////////////////////
 
 /**
- * Message to transmit the audio
+ * Message to transmit the audio (between client and helpers).
  */
 struct AudioMessage
 {
@@ -402,6 +403,227 @@
 };
 
 
+/**
+ * Client -> Service message to register a phone.
+ */
+struct ClientPhoneRegisterMessage
+{
+  /**
+   * Type is: #GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_REGISTER
+   */
+  struct GNUNET_MessageHeader header;
+
+  /**
+   * Phone line to register.
+   */
+  uint32_t line GNUNET_PACKED;
+};
+
+
+/**
+ * Service -> Client message for phone is ringing.
+ */
+struct ClientPhoneRingMessage
+{
+  /**
+   * Type is: #GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_RING
+   */
+  struct GNUNET_MessageHeader header;
+
+  /**
+   * Always zero.
+   */
+  uint32_t reserved GNUNET_PACKED;
+
+  /**
+   * Who is calling us?
+   */
+  struct GNUNET_CRYPTO_EccPublicSignKey caller_id;
+
+};
+
+
+/**
+ * Client -> Service pick up phone that is ringing.
+ */
+struct ClientPhonePickupMessage
+{
+  /**
+   * Type is: #GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_PICK_UP
+   */
+  struct GNUNET_MessageHeader header;
+  
+  /* followed by variable length 0-terminated string with meta data */
+
+};
+
+
+/**
+ * Client -> Service hang up phone that may or may not be ringing.
+ * Also sent in response to a (failed) `struct ClientCallMessage`.
+ */
+struct ClientPhoneHangupMessage
+{
+  /**
+   * Type is: #GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_HANG_UP
+   */
+  struct GNUNET_MessageHeader header;
+  
+  /* followed by variable length 0-terminated string with meta data */
+
+};
+
+
+/**
+ * Message Client <->Service to transmit the audio.
+ */
+struct ClientAudioMessage
+{
+  /**
+   * Type is #GNUNET_MESSAGE_TYPE_CONVERSATION_CS_AUDIO
+   */
+  struct GNUNET_MessageHeader header;
+
+  /* followed by audio data */
+
+};
+
+
+/**
+ * Client -> Service message to call a phone.
+ */
+struct ClientCallMessage
+{
+  /**
+   * Type is: #GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_REGISTER
+   */
+  struct GNUNET_MessageHeader header;
+
+  /**
+   * Which phone line to call at the peer?
+   */
+  uint32_t line GNUNET_PACKED;
+
+  /**
+   * Which peer is hosting the line?
+   */
+  struct GNUNET_PeerIdentity target;
+
+  /**
+   * Identity of the caller.
+   */
+  struct GNUNET_CRYPTO_EccPrivateKey caller_id;
+};
+
+
+/**
+ * Service -> Client: other peer has picked up the phone, we are
+ * now talking.
+ */
+struct ClientPhoneHangupMessage
+{
+  /**
+   * Type is: #GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_ESTABLISHED
+   */
+  struct GNUNET_MessageHeader header;
+  
+  /* followed by variable length 0-terminated string with meta data */
+
+};
+
+
+/**
+ * Mesh message for phone is ringing.
+ */
+struct MeshPhoneRingMessage
+{
+  /**
+   * Type is: #GNUNET_MESSAGE_TYPE_CONVERSATION_MESH_PHONE_RING
+   */
+  struct GNUNET_MessageHeader header;
+
+  /**
+   * Desired target line.
+   */
+  uint32_t line GNUNET_PACKED;
+
+  /**
+   * Purpose for the signature.
+   */
+  struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
+
+  /**
+   * Who is calling us? (also who is signing).
+   */
+  struct GNUNET_CRYPTO_EccPublicSignKey caller_id;
+
+  /**
+   * Who are we calling?
+   */
+  struct GNUNET_PeerIdentity target;
+
+  /**
+   * From where are we calling?
+   */
+  struct GNUNET_PeerIdentity source;
+
+  /**
+   * When does the signature expire?
+   */ 
+  struct GNUNET_TIME_AbsoluteNBO expiration_time;
+
+  /**
+   * Signature on the above.
+   */
+  struct GNUNET_CRYPTO_EccSignature signature;
+
+};
+
+
+/**
+ * Mesh message for hanging up.
+ */
+struct MeshPhoneHangupMessage
+{
+  /**
+   * Type is: #GNUNET_MESSAGE_TYPE_CONVERSATION_MESH_PHONE_HANG_UP
+   */
+  struct GNUNET_MessageHeader header;
+
+  /* followed by variable-size 0-terminated reason string */
+};
+
+
+/**
+ * Mesh message for picking up.
+ */
+struct MeshPhonePickupMessage
+{
+  /**
+   * Type is: #GNUNET_MESSAGE_TYPE_CONVERSATION_MESH_PHONE_PICK_UP
+   */
+  struct GNUNET_MessageHeader header;
+
+  /* followed by variable-size 0-terminated metadata string */
+};
+
+
+/**
+ * Mesh message to transmit the audio.
+ */
+struct MeshAudioMessage
+{
+  /**
+   * Type is #GNUNET_MESSAGE_TYPE_CONVERSATION_MESH_AUDIO
+   */
+  struct GNUNET_MessageHeader header;
+
+  /* followed by audio data */
+
+};
+
+
+
 #if 0                          /* keep Emacsens' auto-indent happy */
 {
 #endif




reply via email to

[Prev in Thread] Current Thread [Next in Thread]