[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r29824 - gnunet/src/conversation
From: |
gnunet |
Subject: |
[GNUnet-SVN] r29824 - gnunet/src/conversation |
Date: |
Thu, 3 Oct 2013 20:19:50 +0200 |
Author: grothoff
Date: 2013-10-03 20:19:50 +0200 (Thu, 03 Oct 2013)
New Revision: 29824
Modified:
gnunet/src/conversation/microphone.c
gnunet/src/conversation/speaker.c
Log:
-removing header to avoid double-encapsulation overhead when going from helper
to API
Modified: gnunet/src/conversation/microphone.c
===================================================================
--- gnunet/src/conversation/microphone.c 2013-10-03 18:06:51 UTC (rev
29823)
+++ gnunet/src/conversation/microphone.c 2013-10-03 18:19:50 UTC (rev
29824)
@@ -74,17 +74,17 @@
const struct GNUNET_MessageHeader *msg)
{
struct Microphone *mic = cls;
+ const struct AudioMessage *am;
if (ntohs (msg->type) != GNUNET_MESSAGE_TYPE_CONVERSATION_AUDIO)
{
GNUNET_break (0);
return GNUNET_SYSERR;
}
- // FIXME: unbox here, instead of sending with overhead!
- // (see speaker.c::play)
+ am = (const struct AudioMessage *) msg;
mic->rdc (mic->rdc_cls,
- ntohs (msg->size),
- (const char *) msg);
+ ntohs (msg->size) - sizeof (struct AudioMessage),
+ &am[1]);
return GNUNET_OK;
}
Modified: gnunet/src/conversation/speaker.c
===================================================================
--- gnunet/src/conversation/speaker.c 2013-10-03 18:06:51 UTC (rev 29823)
+++ gnunet/src/conversation/speaker.c 2013-10-03 18:19:50 UTC (rev 29824)
@@ -130,20 +130,18 @@
const void *data)
{
struct Speaker *spe = cls;
- const struct AudioMessage *am;
+ char buf[sizeof (struct AudioMessage) + data_size];
+ struct AudioMessage *am;
if (NULL == spe->playback_helper)
{
GNUNET_break (0);
return;
}
- // FIXME: box here, instead of expecting boxed data!
- if (sizeof (struct AudioMessage) > data_size)
- {
- GNUNET_break (0);
- return;
- }
- am = (const struct AudioMessage *) data;
+ am = (struct AudioMessage *) buf;
+ am->header.size = htons (sizeof (struct AudioMessage) + data_size);
+ am->header.type = htons (GNUNET_MESSAGE_TYPE_CONVERSATION_AUDIO);
+ memcpy (&am[1], data, data_size);
(void) GNUNET_HELPER_send (spe->playback_helper,
&am->header,
GNUNET_NO,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r29824 - gnunet/src/conversation,
gnunet <=