Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreutarass2010-12-21 20:32:53 +0000
committereutarass2010-12-21 20:32:53 +0000
commit924a0a84057556938e1310084c99955e71a871d6 (patch)
tree847054f8e61180f8fb62021481f79fe681c02f42 /framework/channel.h
parentc66af72a286cb4d793a395f9e9ffae31f056f81d (diff)
downloadorg.eclipse.tcf.agent-924a0a84057556938e1310084c99955e71a871d6.tar.gz
org.eclipse.tcf.agent-924a0a84057556938e1310084c99955e71a871d6.tar.xz
org.eclipse.tcf.agent-924a0a84057556938e1310084c99955e71a871d6.zip
TCF Agent: implemented optional output queue for TCF communication channel.
In addition to improving the agent performance, the queue solves the problem of SSL and PIPE channels being prone to deadlocks.
Diffstat (limited to 'framework/channel.h')
-rw-r--r--framework/channel.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/framework/channel.h b/framework/channel.h
index 95c5d55d..a81c927c 100644
--- a/framework/channel.h
+++ b/framework/channel.h
@@ -23,7 +23,11 @@
#include <framework/link.h>
#include <framework/peer.h>
+struct Protocol;
typedef struct TCFBroadcastGroup TCFBroadcastGroup;
+typedef struct ChannelServer ChannelServer;
+typedef struct Channel Channel;
+
struct TCFBroadcastGroup {
int magic;
OutputStream out; /* Broadcast stream */
@@ -41,9 +45,6 @@ enum {
ChannelStateDisconnected
};
-struct Protocol;
-typedef struct Channel Channel;
-
struct Channel {
InputStream inp; /* Input stream */
OutputStream out; /* Output stream */
@@ -75,8 +76,6 @@ struct Channel {
void (*disconnected)(Channel *); /* Called when channel is disconnected */
};
-typedef struct ChannelServer ChannelServer;
-
struct ChannelServer {
void * client_data; /* Client data */
void (*new_conn)(ChannelServer *, Channel *); /* New connection call back */

Back to the top