Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
        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);
        }