async Task IServer.Ping(SrvPingRequest request, ITcpOp tcpOp) { validate(request); var user = await getUser(request); authenticate(user, request); var response = makeResponse <SrvPongResponse>(request); await tcpOp.Write(response); }
async Task IClient.Ping() { var request = new SrvPingRequest(); var tcpOp = startTcpOp(request); await tcpOp.Write(request); var response = await tcpOp.Read <SrvPongResponse>(); validate(response); }