This is an automated email from the ASF dual-hosted git repository. blankensteiner pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/pulsar-dotpulsar.git
commit ba46dd94fc970cc14ef5e6f70defde39f28dc1ae Author: SeĢrgio Silveira <[email protected]> AuthorDate: Sun Mar 29 19:32:20 2020 +0200 found mini optimization on connector. --- src/DotPulsar/Internal/Connector.cs | 11 +++++++++-- src/DotPulsar/Internal/Process.cs | 8 ++++---- src/DotPulsar/Internal/ProducerChannelFactory.cs | 1 + 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/DotPulsar/Internal/Connector.cs b/src/DotPulsar/Internal/Connector.cs index e5dce0a..b5d70f7 100644 --- a/src/DotPulsar/Internal/Connector.cs +++ b/src/DotPulsar/Internal/Connector.cs @@ -91,10 +91,17 @@ namespace DotPulsar.Internal } catch { +#if NETSTANDARD2_0 if (sslStream is null) stream.Dispose(); else sslStream.Dispose(); +#else + if (sslStream is null) + await stream.DisposeAsync().ConfigureAwait(false); + else + await sslStream.DisposeAsync().ConfigureAwait(false); +#endif throw; } @@ -119,9 +126,9 @@ namespace DotPulsar.Internal chain.ChainPolicy.ExtraStore.Add(_trustedCertificateAuthority); _ = chain.Build((X509Certificate2) certificate); - for (var i = 0; i < chain.ChainElements.Count; i++) + foreach (var element in chain.ChainElements) { - if (chain.ChainElements[i].Certificate.Thumbprint == _trustedCertificateAuthority.Thumbprint) + if (element.Certificate.Thumbprint == _trustedCertificateAuthority.Thumbprint) return true; } diff --git a/src/DotPulsar/Internal/Process.cs b/src/DotPulsar/Internal/Process.cs index e442740..28299b9 100644 --- a/src/DotPulsar/Internal/Process.cs +++ b/src/DotPulsar/Internal/Process.cs @@ -22,20 +22,20 @@ namespace DotPulsar.Internal { public abstract class Process : IProcess { + protected readonly CancellationTokenSource CancellationTokenSource = new CancellationTokenSource(); + protected ChannelState ChannelState; protected ExecutorState ExecutorState; - protected CancellationTokenSource CancellationTokenSource; - - public Guid CorrelationId { get; } public Process(Guid correlationId) { ChannelState = ChannelState.Disconnected; ExecutorState = ExecutorState.Ok; - CancellationTokenSource = new CancellationTokenSource(); CorrelationId = correlationId; } + public Guid CorrelationId { get; } + protected abstract void CalculateState(); public void Start() => CalculateState(); diff --git a/src/DotPulsar/Internal/ProducerChannelFactory.cs b/src/DotPulsar/Internal/ProducerChannelFactory.cs index 1b291fc..c8432f3 100644 --- a/src/DotPulsar/Internal/ProducerChannelFactory.cs +++ b/src/DotPulsar/Internal/ProducerChannelFactory.cs @@ -57,6 +57,7 @@ namespace DotPulsar.Internal var connection = await _connectionPool.FindConnectionForTopic(_commandProducer.Topic, cancellationToken).ConfigureAwait(false); var channel = new Channel(_correlationId, _eventRegister, new AsyncQueue<MessagePackage>()); var response = await connection.Send(_commandProducer, channel, cancellationToken).ConfigureAwait(false); + return new ProducerChannel(response.ProducerId, response.ProducerName, _sequenceId, connection); } }
