diff options
author | eutarass | 2010-12-21 20:32:53 +0000 |
---|---|---|
committer | eutarass | 2010-12-21 20:32:53 +0000 |
commit | 924a0a84057556938e1310084c99955e71a871d6 (patch) | |
tree | 847054f8e61180f8fb62021481f79fe681c02f42 /framework/channel.h | |
parent | c66af72a286cb4d793a395f9e9ffae31f056f81d (diff) | |
download | org.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.h | 9 |
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 */ |