public AmqpClientLink(AmqpClientSession amqpClientSession)
        {
            _amqpSession = amqpClientSession;

            AmqpLinkSettings = new AmqpLinkSettings
            {
                LinkName        = Guid.NewGuid().ToString("N", CultureInfo.InvariantCulture),
                TotalLinkCredit = AmqpConstants.DefaultLinkCredit,
                AutoSendFlow    = true,
                Source          = new Source(),
                Target          = new Target(),
                SettleType      = SettleMode.SettleOnDispose
            };
        }
        private static async Task CreateLinksAsync(AmqpClientConnection connection, string linkEndpoint, string productInfo)
        {
            AmqpClientSession amqpDeviceSession = connection.CreateSession();
            await amqpDeviceSession.OpenAsync(s_timeoutConstant).ConfigureAwait(false);

            AmqpClientLink amqpReceivingLink = amqpDeviceSession.CreateReceivingLink(linkEndpoint);

            amqpReceivingLink.AddClientVersion(productInfo);
            amqpReceivingLink.AddApiVersion(ClientApiVersionHelper.ApiVersion);

            await amqpReceivingLink.OpenAsync(s_timeoutConstant).ConfigureAwait(false);

            AmqpClientLink amqpSendingLink = amqpDeviceSession.CreateSendingLink(linkEndpoint);

            amqpSendingLink.AddClientVersion(productInfo);
            amqpSendingLink.AddApiVersion(ClientApiVersionHelper.ApiVersion);

            await amqpSendingLink.OpenAsync(s_timeoutConstant).ConfigureAwait(false);
        }
        public AmqpClientSession CreateSession()
        {
            AmqpSession = new AmqpClientSession(this);

            return(AmqpSession);
        }