Renci.SshNet.Sftp.SftpMessage.Load C# (CSharp) Method

Load() private static method

private static Load ( uint protocolVersion, SftpMessageTypes messageType, byte data, int offset, int count, Encoding encoding ) : SftpMessage
protocolVersion uint
messageType SftpMessageTypes
data byte
offset int
count int
encoding Encoding
return SftpMessage
        private static SftpMessage Load(uint protocolVersion, SftpMessageTypes messageType, byte[] data, int offset, int count, Encoding encoding)
        {
            SftpMessage message;

            switch (messageType)
            {
                case SftpMessageTypes.Version:
                    message = new SftpVersionResponse();
                    break;
                case SftpMessageTypes.Status:
                    message = new SftpStatusResponse(protocolVersion);
                    break;
                case SftpMessageTypes.Data:
                    message = new SftpDataResponse(protocolVersion);
                    break;
                case SftpMessageTypes.Handle:
                    message = new SftpHandleResponse(protocolVersion);
                    break;
                case SftpMessageTypes.Name:
                    message = new SftpNameResponse(protocolVersion, encoding);
                    break;
                case SftpMessageTypes.Attrs:
                    message = new SftpAttrsResponse(protocolVersion);
                    break;
                case SftpMessageTypes.ExtendedReply:
                    message = new SftpExtendedReplyResponse(protocolVersion);
                    break;
                default:
                    throw new NotSupportedException(string.Format(CultureInfo.CurrentCulture, "Message type '{0}' is not supported.", messageType));
            }

            message.Load(data, offset, count);

            return message;
        }

Same methods

SftpMessage::Load ( uint protocolVersion, byte data, int offset, int count, Encoding encoding ) : SftpMessage

Usage Example

Example #1
0
        private bool TryLoadSftpMessage(byte[] packetData, int offset, int count)
        {
            //  Load SFTP Message and handle it
            var response = SftpMessage.Load(ProtocolVersion, packetData, offset, count, Encoding);

            try
            {
                var versionResponse = response as SftpVersionResponse;
                if (versionResponse != null)
                {
                    ProtocolVersion      = versionResponse.Version;
                    _supportedExtensions = versionResponse.Extentions;

                    _sftpVersionConfirmed.Set();
                }
                else
                {
                    HandleResponse(response as SftpResponse);
                }

                return(true);
            }
            catch (Exception exp)
            {
                RaiseError(exp);
                return(false);
            }
        }
All Usage Examples Of Renci.SshNet.Sftp.SftpMessage::Load