// 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 }