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 | 11e9b40f13063e036162d6ccf81056ccceaf4598 (patch) | |
tree | 289d1cb96dcd0691df3a5e9553340b1dea816d8b /source4/librpc/rpc/dcerpc.h | |
parent | 4544226935dd3a57ab74995ec136d59cc4cefe5f (diff) | |
download | samba-11e9b40f13063e036162d6ccf81056ccceaf4598.tar.gz samba-11e9b40f13063e036162d6ccf81056ccceaf4598.tar.bz2 samba-11e9b40f13063e036162d6ccf81056ccceaf4598.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
(This used to be commit 938e372bffbee1982ad8268b83c43514fd2e5633)
Diffstat (limited to 'source4/librpc/rpc/dcerpc.h')
-rw-r--r-- | source4/librpc/rpc/dcerpc.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/source4/librpc/rpc/dcerpc.h b/source4/librpc/rpc/dcerpc.h index 85fd36f066..a526ed5a01 100644 --- a/source4/librpc/rpc/dcerpc.h +++ b/source4/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; |