// rpc client endpoint.
// manages a xid space per destination socket
// threaded: multiple threads can be sending RPCs,
-class rpcc : public chanmgr {
+class rpcc : public connection_delegate {
private:
//manages per rpc info
}
// rpc server endpoint.
-class rpcs : public chanmgr {
+class rpcs : public connection_delegate {
typedef enum {
NEW, // new RPC, not a duplicate
// internal handler registration
void reg1(proc_t proc, handler *);
- ThrPool* dispatchpool_;
- tcpsconn *listener_;
+ unique_ptr<thread_pool> dispatchpool_;
+ unique_ptr<tcpsconn> listener_;
public:
rpcs(in_port_t port, size_t counts=0);
template<class F, class C=void> void reg(proc_t proc, F f, C *c=nullptr) {
reg1(proc, marshalled_func<F, ReturnOnFailure>::wrap(f, c));
}
+
+ void start();
};
#endif