summaryrefslogtreecommitdiff
path: root/lib/gibber/gibber-multicast-transport.c
diff options
context:
space:
mode:
authorSjoerd Simons <sjoerd@luon.net>2007-03-24 12:23:56 +0000
committerSjoerd Simons <sjoerd@luon.net>2007-03-24 12:23:56 +0000
commit6b8a0f54bbb58062e5c697684ef7502a3e407719 (patch)
tree685581f5539a5b7f90843d42c6568fc0298fcce0 /lib/gibber/gibber-multicast-transport.c
parent2381f4d720ab5051a7dcea2f7468663a4027a2f7 (diff)
downloadtelepathy-salut-6b8a0f54bbb58062e5c697684ef7502a3e407719.tar.gz
Add function to get the maximum packet size
20070324122356-93b9a-536ecf2e0f5a41b1060d3ede167c0038cd3e01d9.gz
Diffstat (limited to 'lib/gibber/gibber-multicast-transport.c')
-rw-r--r--lib/gibber/gibber-multicast-transport.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/gibber/gibber-multicast-transport.c b/lib/gibber/gibber-multicast-transport.c
index d7ceecdf..432dab6b 100644
--- a/lib/gibber/gibber-multicast-transport.c
+++ b/lib/gibber/gibber-multicast-transport.c
@@ -35,6 +35,7 @@
#include <gibber-debug.h>
#define BUFSIZE 1500
+#define MAX_PACKET_SIZE 1440
static gboolean
gibber_multicast_transport_send (GibberTransport *transport,
@@ -149,7 +150,8 @@ _channel_io_in(GIOChannel *source, GIOCondition condition, gpointer data) {
int ret;
socklen_t len = sizeof(struct sockaddr_storage);
- ret = recvfrom(priv->fd, buf, BUFSIZE, 0, (struct sockaddr *)&from, &len);
+ ret = recvfrom(priv->fd, buf, BUFSIZE,
+ 0, (struct sockaddr *)&from, &len);
if (ret < 0) {
DEBUG("recv failed: %s", strerror(errno));
/* FIXME should throw error */
@@ -430,7 +432,7 @@ gibber_multicast_transport_send (GibberTransport *transport,
GibberMulticastTransportPrivate *priv =
GIBBER_MULTICAST_TRANSPORT_GET_PRIVATE(self);
- if (size > BUFSIZE) {
+ if (size > MAX_PACKET_SIZE) {
DEBUG("Message too big");
*error = g_error_new(GIBBER_MULTICAST_TRANSPORT_ERROR,
GIBBER_MULTICAST_TRANSPORT_ERROR_MESSAGE_TOO_BIG,
@@ -452,6 +454,14 @@ gibber_multicast_transport_send (GibberTransport *transport,
return TRUE;
}
+gsize
+gibber_multicast_transport_get_max_packet_size(
+ GibberMulticastTransport *mtransport)
+{
+ return MAX_PACKET_SIZE;
+}
+
+
GibberMulticastTransport *
gibber_multicast_transport_new(void) {
GibberMulticastTransport *transport;