Amqp.Listener.ListenerLink.InitializeSender C# (CSharp) Method

InitializeSender() public method

Initializes the sender state for the link.
public InitializeSender ( object>.Action onCredit, Action onDispose, object state ) : void
onCredit object>.Action The callback to be invoked when delivery limit changes (by received flow performatives).
onDispose Action The callback to be invoked when disposition is received.
state object The user state attached to the link.
return void
        public void InitializeSender(Action<int, object> onCredit, Action<Message, DeliveryState, bool, object> onDispose, object state)
        {
            ThrowIfNotNull(this.linkEndpoint, "endpoint");
            ThrowIfNotNull(this.onCredit, "sender");
            ThrowIfNotNull(this.onDispose, "sender");
            this.onCredit = onCredit;
            this.onDispose = onDispose;
            this.state = state;
        }

Usage Example

Beispiel #1
0
 public void AddLink(ListenerLink link, string address, Attach attach)
 {
     if (!link.Role)
     {
         string replyTo = ((Target)attach.Target).Address;
         AddProcessor(this.responseLinks, replyTo, link);
         link.SettleOnSend = true;
         link.InitializeSender((c, s) => { }, null, Tuple.Create(this, replyTo));
         link.SafeAddClosed((s, e) => OnLinkClosed(s, e));
     }
     else
     {
         link.InitializeReceiver(300, dispatchRequest, this);
         link.SafeAddClosed((s, e) => OnLinkClosed(s, e));
         lock (this.requestLinks)
         {
             this.requestLinks.Add(link);
         }
     }
 }