diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-11-21 06:01:02 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:46:33 -0500 |
commit | 938e372bffbee1982ad8268b83c43514fd2e5633 (patch) | |
tree | 4ef54f118bbe207a4bde1328f07cd05803852a2a /source/librpc/rpc/dcerpc.h | |
parent | 180c209c1bb48f6421043de2d0d48c29fc7f9274 (diff) | |
download | samba-938e372bffbee1982ad8268b83c43514fd2e5633.tar.gz samba-938e372bffbee1982ad8268b83c43514fd2e5633.tar.xz samba-938e372bffbee1982ad8268b83c43514fd2e5633.zip |
r11819: simplified the async rpc bind code a little.
- removed the struct dcerpc_request_state as all the state
information is already available on the dcerpc_pipe structure, so just
use that
- added a single dcerpc_recv_data() handler for receiving packets
from the transport layer. This then does the initial decoding of
the dcerpc packet, and then looks at the packet type in order to
work out who to dispatch it to. This should allow in-flight async
rpc requests to still work while a new bind or alter context is
happening
- ensure that if the transport indicates the connection is dead that
any in-flight bind or alter context requests are given an error
- removed full_request_private and instead use separate bind_private
and alter_private pointers
- added a few comments for some bits I found hard to understand
Diffstat (limited to 'source/librpc/rpc/dcerpc.h')
-rw-r--r-- | source/librpc/rpc/dcerpc.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/source/librpc/rpc/dcerpc.h b/source/librpc/rpc/dcerpc.h index 85fd36f0668..a526ed5a019 100644 --- a/source/librpc/rpc/dcerpc.h +++ b/source/librpc/rpc/dcerpc.h @@ -75,8 +75,11 @@ struct dcerpc_connection { /* Sync requests waiting to be shipped */ struct rpc_request *request_queue; - /* private pointer for pending full requests */ - void *full_request_private; + /* private pointer for pending binds */ + void *bind_private; + + /* private pointer for pending alter context requests */ + void *alter_private; /* the next context_id to be assigned */ uint32_t next_context_id; |