func makeIncomingLinkSettings(pLink proton.Link, sn *session) linkSettings { return linkSettings{ isSender: pLink.IsSender(), source: pLink.RemoteSource().Address(), target: pLink.RemoteTarget().Address(), linkName: pLink.Name(), sndSettle: SndSettleMode(pLink.RemoteSndSettleMode()), rcvSettle: RcvSettleMode(pLink.RemoteRcvSettleMode()), capacity: 1, prefetch: false, pLink: pLink, session: sn, } }
// initIncoming sets link settings from an incoming proton.Link. // Call in proton goroutine func makeIncomingLink(sn *session, eLink proton.Link) link { l := link{ session: sn, isSender: eLink.IsSender(), eLink: eLink, settings: LinkSettings{ Source: eLink.RemoteSource().Address(), Target: eLink.RemoteTarget().Address(), Name: eLink.Name(), SndSettleMode: SndSettleMode(eLink.RemoteSndSettleMode()), RcvSettleMode: RcvSettleMode(eLink.RemoteRcvSettleMode()), }, } l.setSettings() return l }
// Set up a link from an incoming proton.Link. func makeIncomingLink(sn *session, eLink proton.Link) incomingLink { l := incomingLink{ incoming: makeIncoming(eLink), linkSettings: linkSettings{ isSender: eLink.IsSender(), source: eLink.RemoteSource().Address(), target: eLink.RemoteTarget().Address(), linkName: eLink.Name(), sndSettle: SndSettleMode(eLink.RemoteSndSettleMode()), rcvSettle: RcvSettleMode(eLink.RemoteRcvSettleMode()), capacity: 1, prefetch: false, eLink: eLink, session: sn, }, } return l }
// Set up a link from an incoming proton.Link. func makeIncomingLink(sn *session, eLink proton.Link) incomingLink { l := incomingLink{ link: link{ session: sn, isSender: eLink.IsSender(), eLink: eLink, source: eLink.RemoteSource().Address(), target: eLink.RemoteTarget().Address(), linkName: eLink.Name(), sndSettle: SndSettleMode(eLink.RemoteSndSettleMode()), rcvSettle: RcvSettleMode(eLink.RemoteRcvSettleMode()), capacity: 1, prefetch: false, done: make(chan struct{}), }, } l.str = eLink.String() return l }