Пример #1
0
        public static void BeginTransaction(RpcTcpClientTransaction tx)
        {
            int seq = _txPool.Add(tx);

            if (seq < 0)
            {
                var resp = RpcResponse.Create(
                    RpcErrorCode.SendFailed,
                    new RpcException(RpcErrorCode.SendFailed, tx.ServiceUrl, "session pool is full!", null)
                    );
                tx.Callback(resp);
                return;
            }
            tx.Sequence = seq;
            tx.Ticks    = _currentTicks;
        }
Пример #2
0
        public override RpcClientTransaction CreateTransaction(RpcRequest request)
        {
            RpcTcpClientTransaction trans = RpcTcpTransactionManager.CreateClientTransaction(_sock.RemoteUri, _sock, request);

            return(trans);
        }
Пример #3
0
        public static RpcTcpClientTransaction CreateClientTransaction(ServerUri serverUri, RpcTcpSocketConnection sock, RpcRequest request)
        {
            var tx = new RpcTcpClientTransaction(serverUri, sock, request);

            return(tx);
        }