diff --git a/src/Renci.SshNet.Tests/Classes/Common/ExtensionsTest_Concat.cs b/src/Renci.SshNet.Tests/Classes/Common/ExtensionsTest_Concat.cs index ab15e010..1b3785f8 100644 --- a/src/Renci.SshNet.Tests/Classes/Common/ExtensionsTest_Concat.cs +++ b/src/Renci.SshNet.Tests/Classes/Common/ExtensionsTest_Concat.cs @@ -22,7 +22,7 @@ namespace Renci.SshNet.Tests.Classes.Common [TestMethod] public void ShouldReturnSecondWhenFirstIsEmpty() { - var first = Array.Empty; + var first = Array.Empty(); var second = CreateBuffer(16); var actual = Extensions.Concat(first, second); @@ -47,7 +47,7 @@ namespace Renci.SshNet.Tests.Classes.Common public void ShouldReturnFirstWhenSecondIsEmpty() { var first = CreateBuffer(16); - var second = Array.Empty; + var second = Array.Empty(); var actual = Extensions.Concat(first, second); @@ -101,7 +101,7 @@ namespace Renci.SshNet.Tests.Classes.Common [TestCategory("Performance")] public void Performance_LargeArray_FirstEmpty() { - var first = Array.Empty; + var first = Array.Empty(); var second = CreateBuffer(50000); const int runs = 10000; @@ -115,7 +115,7 @@ namespace Renci.SshNet.Tests.Classes.Common public void Performance_LargeArray_SecondEmpty() { var first = CreateBuffer(50000); - var second = Array.Empty; + var second = Array.Empty(); const int runs = 10000; Performance(first, second, runs); diff --git a/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_ReadAsync_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndEqualToBufferSize.cs b/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_ReadAsync_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndEqualToBufferSize.cs index d3b5983b..ef8dbebe 100644 --- a/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_ReadAsync_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndEqualToBufferSize.cs +++ b/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_ReadAsync_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndEqualToBufferSize.cs @@ -138,7 +138,7 @@ namespace Renci.SshNet.Tests.Classes.Sftp public async Task ReadShouldReturnAllRemaningBytesFromReadBufferAndReadAgainWhenCountIsGreaterThanNumberOfRemainingBytesAndNewReadReturnsZeroBytes() { SftpSessionMock.InSequence(MockSequence).Setup(p => p.IsOpen).Returns(true); - SftpSessionMock.InSequence(MockSequence).Setup(p => p.RequestReadAsync(_handle, (ulong)(_serverData1Length + _serverData2Length), _readBufferSize, default)).ReturnsAsync(Array.Empty); + SftpSessionMock.InSequence(MockSequence).Setup(p => p.RequestReadAsync(_handle, (ulong)(_serverData1Length + _serverData2Length), _readBufferSize, default)).ReturnsAsync(Array.Empty()); var numberOfBytesRemainingInReadBuffer = _serverData1Length + _serverData2Length - _numberOfBytesToRead; diff --git a/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_ReadAsync_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndLessThanBufferSize.cs b/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_ReadAsync_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndLessThanBufferSize.cs index 29121639..9d07681a 100644 --- a/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_ReadAsync_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndLessThanBufferSize.cs +++ b/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_ReadAsync_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndLessThanBufferSize.cs @@ -118,7 +118,7 @@ namespace Renci.SshNet.Tests.Classes.Sftp SftpSessionMock.InSequence(MockSequence).Setup(p => p.IsOpen).Returns(true); SftpSessionMock.InSequence(MockSequence) .Setup(p => p.RequestReadAsync(_handle, (ulong) _actual, _readBufferSize, default)) - .ReturnsAsync(Array.Empty); + .ReturnsAsync(Array.Empty()); var buffer = _originalBuffer.Copy(); var actual = await _target.ReadAsync(buffer, 0, buffer.Length); @@ -136,7 +136,7 @@ namespace Renci.SshNet.Tests.Classes.Sftp SftpSessionMock.InSequence(MockSequence).Setup(p => p.IsOpen).Returns(true); SftpSessionMock.InSequence(MockSequence) .Setup(p => p.RequestReadAsync(_handle, (ulong)_actual, _readBufferSize, default)) - .ReturnsAsync(Array.Empty); + .ReturnsAsync(Array.Empty()); SftpSessionMock.InSequence(MockSequence).Setup(p => p.IsOpen).Returns(true); await _target.ReadAsync(new byte[10], 0, 10); diff --git a/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_ReadAsync_ReadMode_NoDataInReaderBufferAndReadMoreBytesFromServerThanCount.cs b/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_ReadAsync_ReadMode_NoDataInReaderBufferAndReadMoreBytesFromServerThanCount.cs index d95ffd0a..83ae8d42 100644 --- a/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_ReadAsync_ReadMode_NoDataInReaderBufferAndReadMoreBytesFromServerThanCount.cs +++ b/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_ReadAsync_ReadMode_NoDataInReaderBufferAndReadMoreBytesFromServerThanCount.cs @@ -124,7 +124,7 @@ namespace Renci.SshNet.Tests.Classes.Sftp public async Task SubsequentReadShouldReturnAllRemaningBytesFromReadBufferAndReadAgainWhenCountIsGreaterThanNumberOfRemainingBytesAndNewReadReturnsZeroBytes() { SftpSessionMock.InSequence(MockSequence).Setup(p => p.IsOpen).Returns(true); - SftpSessionMock.InSequence(MockSequence).Setup(p => p.RequestReadAsync(_handle, (ulong)(_serverData.Length), _readBufferSize, default)).ReturnsAsync(Array.Empty); + SftpSessionMock.InSequence(MockSequence).Setup(p => p.RequestReadAsync(_handle, (ulong)(_serverData.Length), _readBufferSize, default)).ReturnsAsync(Array.Empty()); var buffer = new byte[_numberOfBytesToWriteToReadBuffer + 1]; diff --git a/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndEqualToBufferSize.cs b/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndEqualToBufferSize.cs index 5f6f24be..3932c28a 100644 --- a/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndEqualToBufferSize.cs +++ b/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndEqualToBufferSize.cs @@ -136,7 +136,7 @@ namespace Renci.SshNet.Tests.Classes.Sftp public void ReadShouldReturnAllRemaningBytesFromReadBufferAndReadAgainWhenCountIsGreaterThanNumberOfRemainingBytesAndNewReadReturnsZeroBytes() { SftpSessionMock.InSequence(MockSequence).Setup(p => p.IsOpen).Returns(true); - SftpSessionMock.InSequence(MockSequence).Setup(p => p.RequestRead(_handle, (ulong)(_serverData1Length + _serverData2Length), _readBufferSize)).Returns(Array.Empty); + SftpSessionMock.InSequence(MockSequence).Setup(p => p.RequestRead(_handle, (ulong)(_serverData1Length + _serverData2Length), _readBufferSize)).Returns(Array.Empty()); var numberOfBytesRemainingInReadBuffer = _serverData1Length + _serverData2Length - _numberOfBytesToRead; diff --git a/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndLessThanBufferSize.cs b/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndLessThanBufferSize.cs index 85a6679b..794f6c7b 100644 --- a/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndLessThanBufferSize.cs +++ b/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadLessBytesFromServerThanCountAndLessThanBufferSize.cs @@ -116,7 +116,7 @@ namespace Renci.SshNet.Tests.Classes.Sftp SftpSessionMock.InSequence(MockSequence).Setup(p => p.IsOpen).Returns(true); SftpSessionMock.InSequence(MockSequence) .Setup(p => p.RequestRead(_handle, (ulong) _actual, _readBufferSize)) - .Returns(Array.Empty); + .Returns(Array.Empty()); var buffer = _originalBuffer.Copy(); var actual = _target.Read(buffer, 0, buffer.Length); @@ -134,7 +134,7 @@ namespace Renci.SshNet.Tests.Classes.Sftp SftpSessionMock.InSequence(MockSequence).Setup(p => p.IsOpen).Returns(true); SftpSessionMock.InSequence(MockSequence) .Setup(p => p.RequestRead(_handle, (ulong)_actual, _readBufferSize)) - .Returns(Array.Empty); + .Returns(Array.Empty()); SftpSessionMock.InSequence(MockSequence).Setup(p => p.IsOpen).Returns(true); _target.Read(new byte[10], 0, 10); diff --git a/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadMoreBytesFromServerThanCount.cs b/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadMoreBytesFromServerThanCount.cs index 97c66422..1f6f2cf5 100644 --- a/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadMoreBytesFromServerThanCount.cs +++ b/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_Read_ReadMode_NoDataInReaderBufferAndReadMoreBytesFromServerThanCount.cs @@ -122,7 +122,7 @@ namespace Renci.SshNet.Tests.Classes.Sftp public void SubsequentReadShouldReturnAllRemaningBytesFromReadBufferAndReadAgainWhenCountIsGreaterThanNumberOfRemainingBytesAndNewReadReturnsZeroBytes() { SftpSessionMock.InSequence(MockSequence).Setup(p => p.IsOpen).Returns(true); - SftpSessionMock.InSequence(MockSequence).Setup(p => p.RequestRead(_handle, (ulong)(_serverData.Length), _readBufferSize)).Returns(Array.Empty); + SftpSessionMock.InSequence(MockSequence).Setup(p => p.RequestRead(_handle, (ulong)(_serverData.Length), _readBufferSize)).Returns(Array.Empty()); var buffer = new byte[_numberOfBytesToWriteToReadBuffer + 1]; diff --git a/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_SetLength_DataInReadBuffer_NewLengthLessThanPosition.cs b/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_SetLength_DataInReadBuffer_NewLengthLessThanPosition.cs index a6116339..0709896d 100644 --- a/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_SetLength_DataInReadBuffer_NewLengthLessThanPosition.cs +++ b/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_SetLength_DataInReadBuffer_NewLengthLessThanPosition.cs @@ -137,7 +137,7 @@ namespace Renci.SshNet.Tests.Classes.Sftp SftpSessionMock.InSequence(_sequence).Setup(p => p.IsOpen).Returns(true); SftpSessionMock.InSequence(_sequence) .Setup(p => p.RequestRead(_handle, (uint) _length, _readBufferSize)) - .Returns(Array.Empty); + .Returns(Array.Empty()); var byteRead = _sftpFileStream.ReadByte(); diff --git a/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_SetLength_DataInWriteBuffer_NewLengthLessThanPosition.cs b/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_SetLength_DataInWriteBuffer_NewLengthLessThanPosition.cs index 96ad14b1..42a3ce84 100644 --- a/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_SetLength_DataInWriteBuffer_NewLengthLessThanPosition.cs +++ b/src/Renci.SshNet.Tests/Classes/Sftp/SftpFileStreamTest_SetLength_DataInWriteBuffer_NewLengthLessThanPosition.cs @@ -160,7 +160,7 @@ namespace Renci.SshNet.Tests.Classes.Sftp SftpSessionMock.InSequence(_sequence).Setup(p => p.IsOpen).Returns(true); SftpSessionMock.InSequence(_sequence) .Setup(p => p.RequestRead(_handle, (uint) _length, _readBufferSize)) - .Returns(Array.Empty); + .Returns(Array.Empty()); var byteRead = _sftpFileStream.ReadByte(); diff --git a/src/Renci.SshNet/Common/Array.cs b/src/Renci.SshNet/Common/Array.cs deleted file mode 100644 index c11c3565..00000000 --- a/src/Renci.SshNet/Common/Array.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Renci.SshNet.Common -{ - internal static class Array - { - public static readonly T[] Empty = new T[0]; - } -} diff --git a/src/Renci.SshNet/Common/Extensions.cs b/src/Renci.SshNet/Common/Extensions.cs index 8fed310c..d5c454c7 100644 --- a/src/Renci.SshNet/Common/Extensions.cs +++ b/src/Renci.SshNet/Common/Extensions.cs @@ -180,7 +180,7 @@ namespace Renci.SshNet.Common if (count == 0) { - return Array.Empty; + return Array.Empty(); } if (offset == 0 && value.Length == count) @@ -215,7 +215,7 @@ namespace Renci.SshNet.Common if (count == 0) { - return Array.Empty; + return Array.Empty(); } if (value.Length == count) diff --git a/src/Renci.SshNet/Connection/Socks4Connector.cs b/src/Renci.SshNet/Connection/Socks4Connector.cs index 046d0549..4da6bf77 100644 --- a/src/Renci.SshNet/Connection/Socks4Connector.cs +++ b/src/Renci.SshNet/Connection/Socks4Connector.cs @@ -124,7 +124,7 @@ namespace Renci.SshNet.Connection { if (proxyUser == null) { - return Array.Empty; + return Array.Empty(); } return Encoding.ASCII.GetBytes(proxyUser); diff --git a/src/Renci.SshNet/Messages/Authentication/RequestMessageKeyboardInteractive.cs b/src/Renci.SshNet/Messages/Authentication/RequestMessageKeyboardInteractive.cs index 0b9b0fb6..6175511e 100644 --- a/src/Renci.SshNet/Messages/Authentication/RequestMessageKeyboardInteractive.cs +++ b/src/Renci.SshNet/Messages/Authentication/RequestMessageKeyboardInteractive.cs @@ -1,4 +1,4 @@ -using Renci.SshNet.Common; +using System; namespace Renci.SshNet.Messages.Authentication { @@ -44,8 +44,8 @@ namespace Renci.SshNet.Messages.Authentication public RequestMessageKeyboardInteractive(ServiceName serviceName, string username) : base(serviceName, username, "keyboard-interactive") { - Language = Array.Empty; - SubMethods = Array.Empty; + Language = Array.Empty(); + SubMethods = Array.Empty(); } /// diff --git a/src/Renci.SshNet/Messages/Transport/IgnoreMessage.cs b/src/Renci.SshNet/Messages/Transport/IgnoreMessage.cs index 7c9fa247..5fc009a3 100644 --- a/src/Renci.SshNet/Messages/Transport/IgnoreMessage.cs +++ b/src/Renci.SshNet/Messages/Transport/IgnoreMessage.cs @@ -1,7 +1,6 @@ using System; using System.Globalization; using Renci.SshNet.Abstractions; -using Renci.SshNet.Common; namespace Renci.SshNet.Messages.Transport { @@ -23,7 +22,7 @@ namespace Renci.SshNet.Messages.Transport /// public IgnoreMessage() { - Data = Array.Empty; + Data = Array.Empty(); } /// @@ -71,7 +70,7 @@ namespace Renci.SshNet.Messages.Transport if (dataLength > (DataStream.Length - DataStream.Position)) { DiagnosticAbstraction.Log("SSH_MSG_IGNORE: Length exceeds data bytes, data ignored."); - Data = Array.Empty; + Data = Array.Empty(); } else { diff --git a/src/Renci.SshNet/Sftp/Responses/SftpNameResponse.cs b/src/Renci.SshNet/Sftp/Responses/SftpNameResponse.cs index 05983105..2bdf6789 100644 --- a/src/Renci.SshNet/Sftp/Responses/SftpNameResponse.cs +++ b/src/Renci.SshNet/Sftp/Responses/SftpNameResponse.cs @@ -1,8 +1,7 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Text; -using Renci.SshNet.Common; - namespace Renci.SshNet.Sftp.Responses { internal sealed class SftpNameResponse : SftpResponse @@ -21,7 +20,7 @@ namespace Renci.SshNet.Sftp.Responses public SftpNameResponse(uint protocolVersion, Encoding encoding) : base(protocolVersion) { - Files = Array>.Empty; + Files = Array.Empty>(); Encoding = encoding; } diff --git a/src/Renci.SshNet/Sftp/SftpSession.cs b/src/Renci.SshNet/Sftp/SftpSession.cs index 77355d4a..d797378d 100644 --- a/src/Renci.SshNet/Sftp/SftpSession.cs +++ b/src/Renci.SshNet/Sftp/SftpSession.cs @@ -690,7 +690,7 @@ namespace Renci.SshNet.Sftp } else { - asyncResult.SetAsCompleted(Array.Empty, completedSynchronously: false); + asyncResult.SetAsCompleted(Array.Empty(), completedSynchronously: false); } }); SendRequest(request); @@ -767,7 +767,7 @@ namespace Renci.SshNet.Sftp } else { - data = Array.Empty; + data = Array.Empty(); } _ = wait.Set(); @@ -804,7 +804,7 @@ namespace Renci.SshNet.Sftp { if (response.StatusCode == StatusCodes.Eof) { - _ = tcs.TrySetResult(Array.Empty); + _ = tcs.TrySetResult(Array.Empty()); } else {