gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r14628 - gnunet/src/core


From: gnunet
Subject: [GNUnet-SVN] r14628 - gnunet/src/core
Date: Fri, 11 Mar 2011 13:57:57 +0100

Author: grothoff
Date: 2011-03-11 13:57:57 +0100 (Fri, 11 Mar 2011)
New Revision: 14628

Modified:
   gnunet/src/core/core.h
   gnunet/src/core/core_api.c
   gnunet/src/core/gnunet-service-core.c
   gnunet/src/core/test_core_api.c
   gnunet/src/core/test_core_api_reliability.c
   gnunet/src/core/test_core_api_send_to_self.c
   gnunet/src/core/test_core_quota_compliance.c
Log:
implement cork option, fix testcases

Modified: gnunet/src/core/core.h
===================================================================
--- gnunet/src/core/core.h      2011-03-11 12:44:06 UTC (rev 14627)
+++ gnunet/src/core/core.h      2011-03-11 12:57:57 UTC (rev 14628)
@@ -430,6 +430,16 @@
    */
   struct GNUNET_PeerIdentity peer;
 
+  /**
+   * GNUNET_YES if corking is allowed, GNUNET_NO if not.
+   */
+  uint32_t cork GNUNET_PACKED;
+
+  /**
+   * Always 0.
+   */
+  uint64_t reserved GNUNET_PACKED;
+
 };
 
 

Modified: gnunet/src/core/core_api.c
===================================================================
--- gnunet/src/core/core_api.c  2011-03-11 12:44:06 UTC (rev 14627)
+++ gnunet/src/core/core_api.c  2011-03-11 12:57:57 UTC (rev 14628)
@@ -346,6 +346,11 @@
    */
   uint16_t smr_id;
 
+  /**
+   * Is corking allowed?
+   */
+  int cork;
+
 };
 
 
@@ -707,6 +712,8 @@
       sm->priority = htonl (th->priority);
       sm->deadline = GNUNET_TIME_absolute_hton (th->timeout);
       sm->peer = pr->peer;
+      sm->cork = htonl ((uint32_t) th->cork);
+      sm->reserved = htonl (0);
       ret = th->get_message (th->get_message_cls,
                             size - sizeof (struct SendMessage),
                             &sm[1]);
@@ -1532,6 +1539,7 @@
   th->timeout = GNUNET_TIME_relative_to_absolute (maxdelay);
   th->priority = priority;
   th->msize = notify_size;
+  th->cork = cork;
   /* bound queue size */
   if (pr->queue_size == handle->queue_size)
     {

Modified: gnunet/src/core/gnunet-service-core.c
===================================================================
--- gnunet/src/core/gnunet-service-core.c       2011-03-11 12:44:06 UTC (rev 
14627)
+++ gnunet/src/core/gnunet-service-core.c       2011-03-11 12:57:57 UTC (rev 
14628)
@@ -2886,10 +2886,13 @@
              GNUNET_i2s (&sm->peer),
              (unsigned int) msize);
 #endif  
+  GNUNET_break (0 == ntohl (sm->reserved));
   e = GNUNET_malloc (sizeof (struct MessageEntry) + msize);
   e->deadline = GNUNET_TIME_absolute_ntoh (sm->deadline);
   e->priority = ntohl (sm->priority);
   e->size = msize;
+  if (GNUNET_YES != (int) ntohl (sm->cork))
+    e->got_slack = GNUNET_YES;
   memcpy (&e[1], &sm[1], msize);
 
   /* insert, keep list sorted by deadline */

Modified: gnunet/src/core/test_core_api.c
===================================================================
--- gnunet/src/core/test_core_api.c     2011-03-11 12:44:06 UTC (rev 14627)
+++ gnunet/src/core/test_core_api.c     2011-03-11 12:57:57 UTC (rev 14628)
@@ -138,6 +138,7 @@
                  "Asking core (1) for transmission to peer `%4s'\n",
                  GNUNET_i2s (&p2.id));
       if (NULL == GNUNET_CORE_notify_transmit_ready (p1.ch,
+                                                    GNUNET_YES,
                                                     0,
                                                     
GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 45),
                                                     &p2.id,

Modified: gnunet/src/core/test_core_api_reliability.c
===================================================================
--- gnunet/src/core/test_core_api_reliability.c 2011-03-11 12:44:06 UTC (rev 
14627)
+++ gnunet/src/core/test_core_api_reliability.c 2011-03-11 12:57:57 UTC (rev 
14628)
@@ -167,6 +167,7 @@
       if (p1.ch != NULL)
        GNUNET_break (NULL != 
                      GNUNET_CORE_notify_transmit_ready (p1.ch,
+                                                        GNUNET_NO,
                                                         0,
                                                         FAST_TIMEOUT,
                                                         &p2.id,
@@ -244,6 +245,7 @@
       start_time = GNUNET_TIME_absolute_get ();
       GNUNET_break (NULL != 
                    GNUNET_CORE_notify_transmit_ready (p1.ch,
+                                                      GNUNET_NO,
                                                       0,
                                                       TIMEOUT,
                                                       &p2.id,
@@ -356,6 +358,7 @@
       if (n == tr_n)
        GNUNET_break (NULL != 
                      GNUNET_CORE_notify_transmit_ready (p1.ch,
+                                                        GNUNET_NO,
                                                         0,
                                                         FAST_TIMEOUT,
                                                         &p2.id,

Modified: gnunet/src/core/test_core_api_send_to_self.c
===================================================================
--- gnunet/src/core/test_core_api_send_to_self.c        2011-03-11 12:44:06 UTC 
(rev 14627)
+++ gnunet/src/core/test_core_api_send_to_self.c        2011-03-11 12:57:57 UTC 
(rev 14628)
@@ -141,6 +141,7 @@
       GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                  "Connected to myself; sending message!\n");
       GNUNET_CORE_notify_transmit_ready (core,
+                                        GNUNET_YES,
                                         0, GNUNET_TIME_UNIT_FOREVER_REL,
                                         peer,
                                         sizeof (struct GNUNET_MessageHeader),

Modified: gnunet/src/core/test_core_quota_compliance.c
===================================================================
--- gnunet/src/core/test_core_quota_compliance.c        2011-03-11 12:44:06 UTC 
(rev 14627)
+++ gnunet/src/core/test_core_quota_compliance.c        2011-03-11 12:57:57 UTC 
(rev 14628)
@@ -319,6 +319,7 @@
           (p1.connect_status == 1) )
        GNUNET_break (NULL !=
                      GNUNET_CORE_notify_transmit_ready (p1.ch,
+                                                        GNUNET_NO,
                                                         0,
                                                         FAST_TIMEOUT,
                                                         &p2.id,
@@ -395,11 +396,12 @@
       measure_task = GNUNET_SCHEDULER_add_delayed(MEASUREMENT_LENGTH, 
&measurement_stop, NULL);
 
       GNUNET_break (NULL != GNUNET_CORE_notify_transmit_ready (p1.ch,
-                                                      0,
-                                                      TIMEOUT,
-                                                      &p2.id,
-                                                      MESSAGESIZE,
-                                                      &transmit_ready, &p1));
+                                                              GNUNET_NO,
+                                                              0,
+                                                              TIMEOUT,
+                                                              &p2.id,
+                                                              MESSAGESIZE,
+                                                              &transmit_ready, 
&p1));
     }
 }
 
@@ -503,6 +505,7 @@
   if (running == GNUNET_YES)
        GNUNET_break (NULL !=
                      GNUNET_CORE_notify_transmit_ready (p1.ch,
+                                                        GNUNET_NO,
                                                         0,
                                                         FAST_TIMEOUT,
                                                         &p2.id,




reply via email to

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