[Xorp-hackers] [greearb/xorp.ct] 619aad: Supporting asynchronous method implementations
noreply at github.com
noreply at github.com
Tue Mar 22 16:37:32 PDT 2011
Branch: refs/heads/master
Home: https://github.com/greearb/xorp.ct
Commit: 619aad8bf05c1c65b127cfe157f0d2333e716d3e
https://github.com/greearb/xorp.ct/commit/619aad8bf05c1c65b127cfe157f0d2333e716d3e
Author: Steven Simpson <ss at comp.lancs.ac.uk>
Date: 2011-03-22 (Tue, 22 Mar 2011)
Changed paths:
M xorp/SConstruct
M xorp/libxipc/finder_client.cc
M xorp/libxipc/finder_client.hh
M xorp/libxipc/finder_client_xrl_target.cc
M xorp/libxipc/finder_client_xrl_target.hh
M xorp/libxipc/finder_messenger.cc
M xorp/libxipc/finder_messenger.hh
M xorp/libxipc/xrl_cmd_map.hh
M xorp/libxipc/xrl_dispatcher.cc
M xorp/libxipc/xrl_dispatcher.hh
M xorp/libxipc/xrl_pf_stcp.cc
M xorp/libxipc/xrl_pf_stcp.hh
M xorp/libxipc/xrl_router.cc
M xorp/libxipc/xrl_router.hh
M xorp/xrl/scripts/tgt-gen
Log Message:
-----------
Supporting asynchronous method implementations
* Command map and dispatcher declare types for callbacks to pass
error code and out-arguments.
* Handlers in generated targets meet these callback signatures.
* Various dispatch methods changed so that out-arguments and
error codes are removed from the signature, and the appropriate
callback type is added, all to track changes to command map and
dispatcher.
* Generated targets include default asynchronous implementations
which call synchronous (pure virtual) methods.
* One finder method FinderClient::dispatch_tunneled_xrl is
implemented asynchronously.
* Most changes above compiled in only if XORP_ENABLE_ASYNC_SERVER
is defined, as set by enable_async_server=True on scons.
* STCP changed from using list of RequestStates in seqno order to
map indexed by seqno. This allows responses to return
out-of-order, which is possible if a server implements a method
asynchronously.
Signed-off-by: Steven Simpson <ss at comp.lancs.ac.uk>
More information about the Xorp-hackers
mailing list