public void AddRpcHandlers <T>(ICoolRpc rpcHandler) where T : ICoolRpc { rpcHandler.Init(new Serializer(), this, 0); int id = RpcServiceHelper.GetID <T>(); Contract.Ensures(rpcHandler != null && m_aRpcHandlerMaps[id] == null); IRPCHandlerMap handlerMap = RpcServiceHelper.CreateRpcHandlerMap <T>(rpcHandler); m_aRpcHandlerMaps[id] = handlerMap; }
public ICHelloService_HandlerMap(ICoolRpc service) { m_service = (ICHelloService)service; service.CallAsync.AddProtocolHandler((int)ProtoID.EICHelloService_Hello_MsgIn, Process_Hello); service.CallAsync.AddProtocolDeserializer((int)ProtoID.EICHelloService_Hello_MsgIn, Deserialize_Hello); service.CallAsync.AddProtocolHandler((int)ProtoID.EICHelloService_HelloInt_MsgIn, Process_HelloInt); service.CallAsync.AddProtocolDeserializer((int)ProtoID.EICHelloService_HelloInt_MsgIn, Deserialize_HelloInt); service.CallAsync.AddProtocolHandler((int)ProtoID.EICHelloService_Hello2_MsgIn, Process_Hello2); service.CallAsync.AddProtocolDeserializer((int)ProtoID.EICHelloService_Hello2_MsgIn, Deserialize_Hello2); service.CallAsync.AddProtocolHandler((int)ProtoID.EICHelloService_Hello3_MsgIn, Process_Hello3); service.CallAsync.AddProtocolDeserializer((int)ProtoID.EICHelloService_Hello3_MsgIn, Deserialize_Hello3); }
public T GetRpc <T>() where T : ICoolRpc { ICoolRpc rpc = m_aCoolRpcs[RpcServiceHelper.GetID <T>()]; if (rpc == null) { rpc = RpcServiceHelper.CreateRpc <T>(); rpc.Init(new Serializer(), this, 0); m_aCoolRpcs[RpcServiceHelper.GetID <T>()] = rpc; } return((T)rpc); }