gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r36872 - in gnunet/src: include psycutil social


From: gnunet
Subject: [GNUnet-SVN] r36872 - in gnunet/src: include psycutil social
Date: Tue, 26 Jan 2016 21:37:09 +0100

Author: tg
Date: 2016-01-26 21:37:09 +0100 (Tue, 26 Jan 2016)
New Revision: 36872

Modified:
   gnunet/src/include/gnunet_psyc_service.h
   gnunet/src/include/gnunet_psyc_slicer.h
   gnunet/src/psycutil/psyc_message.c
   gnunet/src/psycutil/psyc_slicer.c
   gnunet/src/social/gnunet-service-social.c
   gnunet/src/social/social_api.c
Log:
psycutil: slicer callback args

Modified: gnunet/src/include/gnunet_psyc_service.h
===================================================================
--- gnunet/src/include/gnunet_psyc_service.h    2016-01-25 14:26:11 UTC (rev 
36871)
+++ gnunet/src/include/gnunet_psyc_service.h    2016-01-26 20:37:09 UTC (rev 
36872)
@@ -250,7 +250,6 @@
 
   /**
    * Byte offset of this @e fragment of the @e message.
-   * FIXME: use data_offset instead
    */
   uint64_t fragment_offset GNUNET_PACKED;
 
@@ -551,9 +550,8 @@
  *        Sequence number of the message.
  * @param flags
  *        OR'ed GNUNET_PSYC_MessageFlags
- * @param data_offset
- *        Byte offset of data, only set if @a msg has a type
- *        #GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_DATA
+ * @param fragment_offset
+ *        Multicast message fragment offset.
  * @param msg  Message part, one of the following types:
  * - #GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_HEADER
  * - #GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_METHOD
@@ -567,7 +565,7 @@
                                     const struct GNUNET_CRYPTO_EcdsaPublicKey 
*slave_pub_key,
                                     uint64_t message_id,
                                     uint32_t flags,
-                                    uint64_t data_offset,
+                                    uint64_t fragment_offset,
                                     const struct GNUNET_MessageHeader *msg);
 
 

Modified: gnunet/src/include/gnunet_psyc_slicer.h
===================================================================
--- gnunet/src/include/gnunet_psyc_slicer.h     2016-01-25 14:26:11 UTC (rev 
36871)
+++ gnunet/src/include/gnunet_psyc_slicer.h     2016-01-26 20:37:09 UTC (rev 
36872)
@@ -63,11 +63,15 @@
  *        Message part, as it arrived from the network.
  * @param message_id
  *        Message counter, monotonically increasing from 1.
+ * @param flags
+ *        OR'ed GNUNET_PSYC_MessageFlags
+ * @param fragment_offset
+ *        Multicast message fragment offset.
+ * @param tmit_flags
+ *        OR'ed GNUNET_PSYC_MasterTransmitFlags
  * @param nym
  *        The sender of the message.
  *        Can be NULL if the message is not connected to a pseudonym.
- * @param flags
- *        OR'ed GNUNET_PSYC_MessageFlags
  * @param method_name
  *        Original method name from PSYC.
  *        May be more specific than the registered method name due to
@@ -78,6 +82,8 @@
                                const struct GNUNET_PSYC_MessageMethod *msg,
                                uint64_t message_id,
                                uint32_t flags,
+                               uint64_t fragment_offset,
+                               uint32_t tmit_flags,
                                const struct GNUNET_CRYPTO_EcdsaPublicKey 
*nym_pub_key,
                                const char *method_name);
 
@@ -89,6 +95,10 @@
  *        Closure.
  * @param message_id
  *        Message ID this data fragment belongs to.
+ * @param flags
+ *        OR'ed GNUNET_PSYC_MessageFlags
+ * @param fragment_offset
+ *        Multicast message fragment offset.
  * @param msg
  *        Message part, as it arrived from the network.
  * @param oper
@@ -106,6 +116,8 @@
 (*GNUNET_PSYC_ModifierCallback) (void *cls,
                                  const struct GNUNET_MessageHeader *msg,
                                  uint64_t message_id,
+                                 uint32_t flags,
+                                 uint64_t fragment_offset,
                                  enum GNUNET_PSYC_Operator oper,
                                  const char *name,
                                  const void *value,
@@ -118,16 +130,18 @@
  *
  * @param cls
  *        Closure.
+ * @param msg
+ *        Message part, as it arrived from the network.
  * @param message_id
  *        Message ID this data fragment belongs to.
- * @param msg
- *        Message part, as it arrived from the network.
- * @param data_offset
- *        Byte offset of @a data in the overall data of the method.
+ * @param flags
+ *        OR'ed GNUNET_PSYC_MessageFlags
+ * @param fragment_offset
+ *        Multicast message fragment offset.
+ * @param data
+ *        Data stream given to the method.
  * @param data_size
  *        Number of bytes in @a data.
- * @param data
- *        Data stream given to the method.
  * @param end
  *        End of message?
  *        #GNUNET_NO     if there are further fragments,
@@ -138,7 +152,8 @@
 (*GNUNET_PSYC_DataCallback) (void *cls,
                              const struct GNUNET_MessageHeader *msg,
                              uint64_t message_id,
-                             uint64_t data_offset,
+                             uint32_t flags,
+                             uint64_t fragment_offset,
                              const void *data,
                              uint16_t data_size);
 
@@ -152,6 +167,10 @@
  *        Message part, as it arrived from the network.
  * @param message_id
  *        Message ID this data fragment belongs to.
+ * @param flags
+ *        OR'ed GNUNET_PSYC_MessageFlags
+ * @param fragment_offset
+ *        Multicast message fragment offset.
  * @param cancelled
  *        #GNUNET_YES if the message was cancelled,
  *        #GNUNET_NO  if the message is complete.
@@ -160,6 +179,8 @@
 (*GNUNET_PSYC_EndOfMessageCallback) (void *cls,
                                      const struct GNUNET_MessageHeader *msg,
                                      uint64_t message_id,
+                                     uint32_t flags,
+                                     uint64_t fragment_offset,
                                      uint8_t cancelled);
 
 

Modified: gnunet/src/psycutil/psyc_message.c
===================================================================
--- gnunet/src/psycutil/psyc_message.c  2016-01-25 14:26:11 UTC (rev 36871)
+++ gnunet/src/psycutil/psyc_message.c  2016-01-26 20:37:09 UTC (rev 36872)
@@ -1101,7 +1101,7 @@
     if (NULL != recv->message_part_cb)
       recv->message_part_cb (recv->cb_cls, &recv->slave_pub_key,
                              recv->message_id, recv->flags,
-                             0, // FIXME: data_offset
+                             GNUNET_ntohll (msg->fragment_offset),
                              pmsg);
 
     switch (ptype)
@@ -1181,7 +1181,7 @@
 static void
 parse_message_part_cb (void *cls,
                        const struct GNUNET_CRYPTO_EcdsaPublicKey 
*slave_pub_key,
-                       uint64_t message_id, uint32_t flags, uint64_t 
data_offset,
+                       uint64_t message_id, uint32_t flags, uint64_t 
fragment_offset,
                        const struct GNUNET_MessageHeader *msg)
 {
   struct ParseMessageClosure *pmc = cls;

Modified: gnunet/src/psycutil/psyc_slicer.c
===================================================================
--- gnunet/src/psycutil/psyc_slicer.c   2016-01-25 14:26:11 UTC (rev 36871)
+++ gnunet/src/psycutil/psyc_slicer.c   2016-01-26 20:37:09 UTC (rev 36872)
@@ -65,6 +65,16 @@
   uint64_t message_id;
 
   /**
+   * Fragment offset of currently being received message.
+   */
+  uint64_t fragment_offset;
+
+  /**
+   * Flags of currently being received message.
+   */
+  uint32_t flags;
+
+  /**
    * Method name of currently being received message.
    */
   char *method_name;
@@ -174,6 +184,7 @@
     struct GNUNET_PSYC_MessageMethod *
       meth = (struct GNUNET_PSYC_MessageMethod *) msg;
     cbs->method_cb (cbs->cls, meth, slicer->message_id,
+                    slicer->flags, slicer->fragment_offset,
                     ntohl (meth->flags),
                     &slicer->nym_pub_key,
                     slicer->method_name);
@@ -187,6 +198,7 @@
     struct GNUNET_PSYC_MessageModifier *
       mod = (struct GNUNET_PSYC_MessageModifier *) msg;
     cbs->modifier_cb (cbs->cls, &mod->header, slicer->message_id,
+                      slicer->flags, slicer->fragment_offset,
                       mod->oper, (const char *) &mod[1],
                       (const void *) &mod[1] + ntohs (mod->name_size),
                       ntohs (mod->header.size) - sizeof (*mod) - ntohs 
(mod->name_size),
@@ -199,6 +211,7 @@
     if (NULL == cbs->modifier_cb)
       break;
     cbs->modifier_cb (cbs->cls, msg, slicer->message_id,
+                      slicer->flags, slicer->fragment_offset,
                       slicer->mod_oper, slicer->mod_name, &msg[1],
                       ntohs (msg->size) - sizeof (*msg),
                       slicer->mod_full_value_size);
@@ -209,9 +222,9 @@
   {
     if (NULL == cbs->data_cb)
       break;
-    uint64_t data_offset = 0; // FIXME
     cbs->data_cb (cbs->cls, msg, slicer->message_id,
-                  data_offset, &msg[1], ntohs (msg->size) - sizeof (*msg));
+                  slicer->flags, slicer->fragment_offset,
+                  &msg[1], ntohs (msg->size) - sizeof (*msg));
     break;
   }
 
@@ -218,13 +231,15 @@
   case GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_END:
     if (NULL == cbs->eom_cb)
       break;
-    cbs->eom_cb (cbs->cls, msg, slicer->message_id, GNUNET_NO);
+    cbs->eom_cb (cbs->cls, msg, slicer->message_id,
+                 slicer->flags, slicer->fragment_offset, GNUNET_NO);
     break;
 
   case GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_CANCEL:
     if (NULL == cbs->eom_cb)
       break;
-    cbs->eom_cb (cbs->cls, msg, slicer->message_id, GNUNET_YES);
+    cbs->eom_cb (cbs->cls, msg, slicer->message_id,
+                 slicer->flags, slicer->fragment_offset, GNUNET_YES);
     break;
   }
   return GNUNET_YES;
@@ -241,8 +256,9 @@
   struct GNUNET_PSYC_Slicer *slicer = cls;
   struct SlicerModifierCallbacks *cbs = value;
 
-  cbs->modifier_cb (cbs->cls, slicer->msg, slicer->message_id, 
slicer->mod_oper,
-                    slicer->mod_name, slicer->mod_value,
+  cbs->modifier_cb (cbs->cls, slicer->msg,
+                    slicer->message_id, slicer->flags, slicer->fragment_offset,
+                    slicer->mod_oper, slicer->mod_name, slicer->mod_value,
                     slicer->mod_value_size, slicer->mod_full_value_size);
   return GNUNET_YES;
 }
@@ -296,6 +312,8 @@
     slicer->method_name = GNUNET_malloc (slicer->method_name_size);
     memcpy (slicer->method_name, &meth[1], slicer->method_name_size);
     slicer->message_id = message_id;
+    slicer->flags = flags;
+    slicer->fragment_offset = fragment_offset;
   }
   else
   {

Modified: gnunet/src/social/gnunet-service-social.c
===================================================================
--- gnunet/src/social/gnunet-service-social.c   2016-01-25 14:26:11 UTC (rev 
36871)
+++ gnunet/src/social/gnunet-service-social.c   2016-01-26 20:37:09 UTC (rev 
36872)
@@ -769,6 +769,8 @@
                          const struct GNUNET_PSYC_MessageMethod *meth,
                          uint64_t message_id,
                          uint32_t flags,
+                         uint64_t fragment_offset,
+                         uint32_t tmit_flags,
                          const struct GNUNET_CRYPTO_EcdsaPublicKey 
*nym_pub_key,
                          const char *method_name)
 {
@@ -775,7 +777,7 @@
   struct Host *hst = cls;
   struct Place *plc = &hst->plc;
 
-  // FIXME: relay message
+
 }
 
 
@@ -783,6 +785,8 @@
 place_recv_relay_modifier (void *cls,
                            const struct GNUNET_MessageHeader *msg,
                            uint64_t message_id,
+                           uint32_t flags,
+                           uint64_t fragment_offset,
                            enum GNUNET_PSYC_Operator oper,
                            const char *name,
                            const void *value,
@@ -797,6 +801,8 @@
 place_recv_relay_eom (void *cls,
                       const struct GNUNET_MessageHeader *msg,
                       uint64_t message_id,
+                      uint32_t flags,
+                      uint64_t fragment_offset,
                       uint8_t cancelled)
 {
 
@@ -807,7 +813,8 @@
 place_recv_relay_data (void *cls,
                        const struct GNUNET_MessageHeader *msg,
                        uint64_t message_id,
-                       uint64_t data_offset,
+                       uint32_t flags,
+                       uint64_t fragment_offset,
                        const void *data,
                        uint16_t data_size)
 {
@@ -820,6 +827,8 @@
                         const struct GNUNET_PSYC_MessageMethod *meth,
                         uint64_t message_id,
                         uint32_t flags,
+                        uint64_t fragment_offset,
+                        uint32_t tmit_flags,
                         const struct GNUNET_CRYPTO_EcdsaPublicKey *nym_pub_key,
                         const char *method_name)
 {
@@ -852,7 +861,8 @@
 place_recv_save_data (void *cls,
                       const struct GNUNET_MessageHeader *msg,
                       uint64_t message_id,
-                      uint64_t data_offset,
+                      uint32_t flags,
+                      uint64_t fragment_offset,
                       const void *data,
                       uint16_t data_size)
 {
@@ -888,6 +898,8 @@
 place_recv_save_eom (void *cls,
                      const struct GNUNET_MessageHeader *msg,
                      uint64_t message_id,
+                     uint32_t flags,
+                     uint64_t fragment_offset,
                      uint8_t cancelled)
 {
   struct Place *plc = cls;
@@ -1235,10 +1247,10 @@
 
 
 const struct MsgProcRequest *
-relay_req_parse (const struct GNUNET_MessageHeader *msg,
-                 uint32_t *flags,
-                 const char **method_prefix,
-                 struct GNUNET_HashCode *method_hash)
+msg_proc_parse (const struct GNUNET_MessageHeader *msg,
+                uint32_t *flags,
+                const char **method_prefix,
+                struct GNUNET_HashCode *method_hash)
 {
   const struct MsgProcRequest *mpreq = (const struct MsgProcRequest *) msg;
   uint8_t method_size = ntohs (mpreq->header.size) - sizeof (*mpreq);
@@ -1275,7 +1287,7 @@
   uint32_t flags = 0;
   struct GNUNET_HashCode method_hash;
   const struct MsgProcRequest *
-    mpreq = relay_req_parse (msg, &flags, &method_prefix, &method_hash);
+    mpreq = msg_proc_parse (msg, &flags, &method_prefix, &method_hash);
 
   if (NULL == mpreq) {
     GNUNET_break (0);

Modified: gnunet/src/social/social_api.c
===================================================================
--- gnunet/src/social/social_api.c      2016-01-25 14:26:11 UTC (rev 36871)
+++ gnunet/src/social/social_api.c      2016-01-26 20:37:09 UTC (rev 36872)
@@ -401,6 +401,8 @@
                                      const struct GNUNET_PSYC_MessageMethod 
*meth,
                                      uint64_t message_id,
                                      uint32_t flags,
+                                     uint64_t fragment_offset,
+                                     uint32_t tmit_flags,
                                      const struct GNUNET_CRYPTO_EcdsaPublicKey 
*nym_pub_key,
                                      const char *method_name)
 {
@@ -430,6 +432,8 @@
 host_recv_notice_place_leave_modifier (void *cls,
                                        const struct GNUNET_MessageHeader *msg,
                                        uint64_t message_id,
+                                       uint32_t flags,
+                                       uint64_t fragment_offset,
                                        enum GNUNET_PSYC_Operator oper,
                                        const char *name,
                                        const void *value,
@@ -459,6 +463,8 @@
 host_recv_notice_place_leave_eom (void *cls,
                                   const struct GNUNET_MessageHeader *msg,
                                   uint64_t message_id,
+                                  uint32_t flags,
+                                  uint64_t fragment_offset,
                                   uint8_t cancelled)
 {
   struct GNUNET_SOCIAL_Host *hst = cls;




reply via email to

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