Beispiel #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;
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            Logger.Trace("Hello");
            for (int i = 0; i < 1; ++i)
            {
                Task.Run(StartClient);
            }

            Console.ReadKey();
#if false
            ISerializer serializer = new Serializer();
            s_callAsync = new CallAsync("127.0.0.1", 1234, Cool.Interface.NetWork.NetType.TCP);

            ClientTest.CHelloService cHelloService = new ClientTest.CHelloService();
            cHelloService.Serializer = serializer;
            cHelloService.CallAsync  = s_callAsync;
            cHelloService.ChunkType  = (int)ChunkType.BASE;

            s_CHelloServiceHandlers = new ICHelloService_HandlerMap(cHelloService);

            s_sHelloService           = new CSRPC.SHelloService(serializer, s_callAsync);
            s_sHelloService.ChunkType = (int)ChunkType.BASE;

            while (true)
            {
                if (Console.KeyAvailable)
                {
                    if (Console.ReadKey().Key == ConsoleKey.Spacebar)
                    {
                        s_sHelloService.Hello();
                        MyTask.Run(async delegate(object state)
                        {
                            var(a, b) = await s_sHelloService.HelloInt(1);
                            CoolLog.WriteLine($"a:{a}, b:{b}");

                            //return null;
                        }, null);
                    }
                    else if (Console.ReadKey().Key == ConsoleKey.A)
                    {
                    }
                }


                if (s_callAsync != null)
                {
                    s_callAsync.Update();
                }
            }
#endif
        }