| 1234567891011121314151617181920212223242526272829303132333435 |
- using BenchmarkDotNet.Attributes;
- using Renci.SshNet.Common;
- using Renci.SshNet.Messages;
- using Renci.SshNet.Messages.Transport;
- namespace Renci.SshNet.Benchmarks.Messages
- {
- [MemoryDiagnoser]
- public class MessageBenchmarks
- {
- [Benchmark]
- public Message WriteBytes()
- {
- using var sshDataStream = new SshDataStream(SshData.DefaultCapacity);
- var bannerMessage = new WritableDisconnectMessage(DisconnectReason.ServiceNotAvailable, "Goodbye");
- bannerMessage.WritePrivateBytes(sshDataStream);
- return bannerMessage; // Avoid JIT elimination
- }
- private sealed class WritableDisconnectMessage : DisconnectMessage
- {
- public WritableDisconnectMessage(DisconnectReason reasonCode, string message)
- : base(reasonCode, message)
- {
- }
- public void WritePrivateBytes(SshDataStream sshDataStream)
- {
- WriteBytes(sshDataStream);
- }
- }
- }
- }
|