internal Task <TResponse> SendRequestAndWaitResponse <TResponse>(RequestBase request) where TResponse : ResponseBase { Interlocked.Increment(ref _lastToken); request.Token = _lastToken; var requestBytes = _serializer.Serialize(request); var command = new Command(CommandNames.Request, requestBytes); return(_requestsHandler.WaitForResponse <TResponse>(request, () => _transport.SendData(_commandParser.ToBytes(command)))); }
public Task <TResponse> SendRequest <TResponse>(RequestBase request) where TResponse : ResponseBase { Interlocked.Increment(ref _lastToken); request.Token = _lastToken; return(_requestsHandler.WaitForResponse <TResponse>(request, () => Send(request))); }