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; }
public override RpcClientTransaction CreateTransaction(RpcRequest request) { RpcTcpClientTransaction trans = RpcTcpTransactionManager.CreateClientTransaction(_sock.RemoteUri, _sock, request); return(trans); }
public static RpcTcpClientTransaction CreateClientTransaction(ServerUri serverUri, RpcTcpSocketConnection sock, RpcRequest request) { var tx = new RpcTcpClientTransaction(serverUri, sock, request); return(tx); }