diff options
author | Alban Crequy <alban.crequy@collabora.co.uk> | 2008-07-31 14:21:37 +0000 |
---|---|---|
committer | Jonny Lamb <jonnylamb@jonnylamb.com> | 2008-08-11 20:02:12 +0100 |
commit | e2f8d5d876a2fd5477e8174ab9e72b2699f46739 (patch) | |
tree | dfb826917b9dd09b34cf2189bf01fa433e3ff06f /lib/gibber/gibber-bytestream-direct.c | |
parent | 103078c69e4d01fffb71b5fbebd5397269f975b8 (diff) | |
download | telepathy-salut-e2f8d5d876a2fd5477e8174ab9e72b2699f46739.tar.gz |
1-1 tubes: use direct tcp connections, and connect to the right port
20080731142137-a41c0-efce423d1593431bd156242fa9216afd72c860f2.gz
Diffstat (limited to 'lib/gibber/gibber-bytestream-direct.c')
-rw-r--r-- | lib/gibber/gibber-bytestream-direct.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/lib/gibber/gibber-bytestream-direct.c b/lib/gibber/gibber-bytestream-direct.c index e36bd5d7..52b75226 100644 --- a/lib/gibber/gibber-bytestream-direct.c +++ b/lib/gibber/gibber-bytestream-direct.c @@ -610,7 +610,8 @@ gibber_bytestream_direct_accept (GibberBytestreamIface *bytestream, GibberBytestreamAugmentSiAcceptReply func, gpointer user_data) { - DEBUG ("not implemented"); + /* nothing to do */ + DEBUG ("Called."); } /* @@ -622,7 +623,25 @@ static void gibber_bytestream_direct_close (GibberBytestreamIface *bytestream, GError *error) { - DEBUG ("not implemented"); + GibberBytestreamDirect *self = GIBBER_BYTESTREAM_DIRECT (bytestream); + GibberBytestreamDirectPrivate *priv = + GIBBER_BYTESTREAM_DIRECT_GET_PRIVATE (self); + + if (priv->state == GIBBER_BYTESTREAM_STATE_CLOSED) + /* bytestream already closed, do nothing */ + return; + + g_object_set (self, "state", GIBBER_BYTESTREAM_STATE_CLOSING, NULL); + if (priv->transport != NULL && + !gibber_transport_buffer_is_empty (priv->transport)) + { + DEBUG ("Wait transport buffer is empty before close the bytestream"); + } + else + { + DEBUG ("Transport buffer is empty, we can close the bytestream"); + bytestream_closed (self); + } } /* |