gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r36653 - gnunet-qt/secushare/core/social


From: gnunet
Subject: [GNUnet-SVN] r36653 - gnunet-qt/secushare/core/social
Date: Thu, 12 Nov 2015 19:30:31 +0100

Author: tg
Date: 2015-11-12 19:30:31 +0100 (Thu, 12 Nov 2015)
New Revision: 36653

Modified:
   gnunet-qt/secushare/core/social/socialservice.cpp
   gnunet-qt/secushare/core/social/socialservice.h
Log:
fix message transmission

Modified: gnunet-qt/secushare/core/social/socialservice.cpp
===================================================================
--- gnunet-qt/secushare/core/social/socialservice.cpp   2015-11-10 14:27:57 UTC 
(rev 36652)
+++ gnunet-qt/secushare/core/social/socialservice.cpp   2015-11-12 18:30:31 UTC 
(rev 36653)
@@ -443,79 +443,31 @@
         GNUNET_ENV_environment_destroy (tmit->env);
         tmit->env = NULL;
     }
-    if (0 == tmit->data_count)
-    {
-        *data_size = 0;
-        return GNUNET_YES;
-    }
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "data_sent: %z, data_size: %u\n",
+                tmit->data_sent, *data_size);
+    std::string sub = tmit->data.substr (tmit->data_sent, *data_size);
+    *data_size = sub.size ();
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "data_size: %u\n", *data_size);
+    memcpy (data, sub.c_str (), *data_size);
+    tmit->data_sent += *data_size;
 
-    uint16_t size = strlen (tmit->data[tmit->n]) + 1;
-    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                "Transmit notify data: %u bytes available, "
-                "processing fragment %u/%u (size %u).\n",
-                *data_size, tmit->n + 1, tmit->data_count, size);
-    if (*data_size < size)
-    {
-        *data_size = 0;
-        //GNUNET_assert (0);
-        return GNUNET_SYSERR;
-    }
-
-   /*if (GNUNET_YES != tmit->paused && 0 < tmit->data_delay[tmit->n])
-    {
-        GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "Transmission paused.\n");
-        tmit->paused = GNUNET_YES;
-        GNUNET_SCHEDULER_add_delayed (
-                    GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS,
-                                                   tmit->data_delay[tmit->n]),
-                &transmit_resume, tmit);
-        *data_size = 0;
-        return GNUNET_NO;
-    }*/
-    tmit->paused = GNUNET_NO;
-
-    *data_size = size;
-    memcpy (data, tmit->data[tmit->n], size);
-
-    return ++tmit->n < tmit->data_count ? GNUNET_NO : GNUNET_YES;
+    return (tmit->data.size () <= tmit->data_sent)
+        ? GNUNET_YES : GNUNET_NO;
 }
 
 void
 SocialService::guestTalk (Place* place, QString text)
 {
-
     TransmitClosure* tmit = new TransmitClosure;
-
-
-
     tmit->env = NULL;
-
-    /*
-    tmit->data[0] = "zzz xxx yyy";
-    tmit->data[1] = "zyx wvu tsr qpo";
-    tmit->data[2] = "testing ten nine eight";
-    tmit->data_count = 3;*/
-
-    std::string stdText = text.toStdString();
-
-    tmit->data[0] = new char[stdText.size()+1];
-    //tmit->data[1] = new char[1];
-    tmit->data[1] = "";
-
-    strcpy( tmit->data[0], stdText.c_str() );
-    //strcpy( tmit->data[1], stdText.c_str() );
-
-    tmit->data_count = 2;
-
-
-    place->addConversation(text);
-
-
+    tmit->data = text.toStdString();
+    tmit->data_sent = 0;
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "data: %s\n", tmit->data.c_str ());
     tmit->guest_talk
             = GNUNET_SOCIAL_guest_talk (place->socialGuest(), 
"_message_guest", NULL,
                                         &notify_data, tmit,
                                         GNUNET_SOCIAL_TALK_NONE);
-
+    place->addConversation(text);
 }
 
 void
@@ -524,28 +476,9 @@
 
   TransmitClosure* tmit = new TransmitClosure();
   tmit->env = NULL;
-
-  /*
-  tmit->data[0] = "aaa bbb ccc";
-  tmit->data[1] = "abc def ghi jkl";
-  tmit->data[2] = "testing one two three";
-  tmit->data[3] = "four five";
-  tmit->data_count = 4;*/
-
-
-  std::string stdText = text.toStdString();
-
-
-
-  tmit->data[0] = new char[stdText.size()+1];
-  //tmit->data[1] = new char[1];
-  tmit->data[1] = "";
-
-  strcpy( tmit->data[0], stdText.c_str() );
-  //strcpy( tmit->data[1], stdText.c_str() );
-
-  tmit->data_count = 2;
-
+  tmit->data = text.toStdString();
+  tmit->data_sent = 0;
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "data: %s\n", tmit->data.c_str ());
   tmit->host_ann
     = GNUNET_SOCIAL_host_announce (place->host(), "_message_host", tmit->env,
                                    &notify_data, tmit,

Modified: gnunet-qt/secushare/core/social/socialservice.h
===================================================================
--- gnunet-qt/secushare/core/social/socialservice.h     2015-11-10 14:27:57 UTC 
(rev 36652)
+++ gnunet-qt/secushare/core/social/socialservice.h     2015-11-12 18:30:31 UTC 
(rev 36653)
@@ -12,7 +12,7 @@
   struct GNUNET_ENV_Environment *env;
   char *data;
   uint16_t data_size;
-}GuestEnterMessage;
+} GuestEnterMessage;
 
 
 typedef struct TransmitClosure
@@ -20,11 +20,8 @@
   struct GNUNET_SOCIAL_Announcement *host_ann;
   struct GNUNET_SOCIAL_TalkRequest *guest_talk;
   struct GNUNET_ENV_Environment *env;
-  char *data[16];
-  uint8_t data_delay[16];
-  uint8_t data_count;
-  uint8_t paused;
-  uint8_t n;
+  std::string data;
+  size_t data_sent;
 } TransmitClosure;
 
 class Place;




reply via email to

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