Inheritance: SftpMessage
Exemplo n.º 1
0
 public void Complete(SftpResponse response)
 {
     if (response is SftpStatusResponse)
     {
         this._statusAction(response as SftpStatusResponse);
     }
     else if (response is SftpAttrsResponse)
     {
         this._attrsAction(response as SftpAttrsResponse);
     }
     else if (response is SftpDataResponse)
     {
         this._dataAction(response as SftpDataResponse);
     }
     else if (response is SftpExtendedReplyResponse)
     {
         this._extendedReplyAction(response as SftpExtendedReplyResponse);
     }
     else if (response is SftpHandleResponse)
     {
         this._handleAction(response as SftpHandleResponse);
     }
     else if (response is SftpNameResponse)
     {
         this._nameAction(response as SftpNameResponse);
     }
     else
     {
         throw new InvalidOperationException(string.Format("Response of type '{0}' is not expected.", response.GetType().Name));
     }
 }
Exemplo n.º 2
0
        private void HandleResponse(SftpResponse response)
        {
            SftpRequest request = null;
            lock (this._requests)
            {
                this._requests.TryGetValue(response.ResponseId, out request);
                if (request != null)
                {
                    this._requests.Remove(response.ResponseId);
                }
            }

            if (request == null)
                throw new InvalidOperationException("Invalid response.");

            request.Complete(response);
        }