aboutsummaryrefslogtreecommitdiff
path: root/src/multicast/multicast.h
diff options
context:
space:
mode:
authorGabor X Toth <*@tg-x.net>2014-03-06 23:46:45 +0000
committerGabor X Toth <*@tg-x.net>2014-03-06 23:46:45 +0000
commit8a0b8a4604526e5f832c4971f9c3b1b48d79bea4 (patch)
treedfd18a61272a18381fe9ce9b09849a965480a303 /src/multicast/multicast.h
parenta21beab58c1d2abc747359a98326f19aaad4e8cd (diff)
PSYC: implement slave to master requests, tests, fixes, reorg
Multicast lib: handle member to origin requests. Keep track of members and origins and call their callbacks when necessary.
Diffstat (limited to 'src/multicast/multicast.h')
-rw-r--r--src/multicast/multicast.h46
1 files changed, 42 insertions, 4 deletions
diff --git a/src/multicast/multicast.h b/src/multicast/multicast.h
index 88cb2d99e8..facf8f54e2 100644
--- a/src/multicast/multicast.h
+++ b/src/multicast/multicast.h
@@ -22,6 +22,7 @@
* @file multicast/multicast.h
* @brief multicast IPC messages
* @author Christian Grothoff
+ * @author Gabor X Toth
*/
#ifndef MULTICAST_H
#define MULTICAST_H
@@ -30,12 +31,52 @@ GNUNET_NETWORK_STRUCT_BEGIN
/**
+ * Header of a join request sent to the origin or another member.
+ */
+struct GNUNET_MULTICAST_JoinRequest
+{
+ /**
+ * Header for the join request.
+ */
+ struct GNUNET_MessageHeader header;
+
+ /**
+ * ECC signature of the rest of the fields of the join request.
+ *
+ * Signature must match the public key of the joining member.
+ */
+ struct GNUNET_CRYPTO_EddsaSignature signature;
+
+ /**
+ * Purpose for the signature and size of the signed data.
+ */
+ struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
+
+ /**
+ * Public key of the target group.
+ */
+ struct GNUNET_CRYPTO_EddsaPublicKey group_key;
+
+ /**
+ * Public key of the joining member.
+ */
+ struct GNUNET_CRYPTO_EddsaPublicKey member_key;
+
+ /**
+ * Peer identity of the joining member.
+ */
+ struct GNUNET_PeerIdentity member_peer;
+
+ /* Followed by request body. */
+};
+
+
+/**
* Message sent from the client to the service to notify the service
* about a join decision.
*/
struct MulticastJoinDecisionMessage
{
-
/**
*
*/
@@ -329,9 +370,6 @@ struct MulticastUnicastToOriginCancelMessage
};
-
-
-
GNUNET_NETWORK_STRUCT_END
#endif