Lawo.EmberPlusSharp.S101.MessageEncodingStream.DisposeAsync C# (CSharp) Method

DisposeAsync() public final method

public final DisposeAsync ( CancellationToken cancellationToken ) : Task
cancellationToken System.Threading.CancellationToken
return Task
        public sealed override async Task DisposeAsync(CancellationToken cancellationToken)
        {
            try
            {
                if (this.framingStream != null)
                {
                    if (this.message.CanHaveMultiplePackets)
                    {
                        await this.DisposeAndCreateFramingStreamAsync(
                            PacketFlags.EmptyPacket | PacketFlags.LastPacket, cancellationToken);
                    }

                    await this.DisposeFramingStream(cancellationToken);
                    await this.rawBuffer.FlushAsync(cancellationToken);
                    await base.DisposeAsync(cancellationToken);
                }
            }
            finally
            {
                this.framingStream = null;
            }
        }