Move ziti from channel/v4 to channel/v5. channel/v5 unifies the Channel and MultiChannel abstractions into a single Channel, replacing the v4 UnderlayHandler god-interface with focused interfaces (Senders, MessageSourceProvider, UnderlayEventListener) and moving the dial/grouping/backoff machinery into the library behind a DialPolicy.
The multi-underlay consumers decompose accordingly:
ctrlchan (control channel) - keeps survive-to-zero (Min: 0); short-lived-connection detection is disabled on its dial policy so a clean close reconnects promptly
xlink (router links) - default underlay keeps Min: 1 (loss closes the channel); the dial policy wraps the cloned link-id identity dialer, preserving link-id-as-channel-id
- edge listener (
router/xgress_edge) - default underlay Min: 1
Construction moves to channel.NewChannel(*Config), handler retrieval to GetSenders(), and the self-describing receive handlers to channel.ContentTypeReceiver/AddReceiveHandlers. The wire protocol is unchanged, so a mixed v4/v5 fleet remains safe.
Consumes sdk-golang v1.9.0 (openziti/sdk-golang#945).
Move ziti from channel/v4 to channel/v5. channel/v5 unifies the Channel and MultiChannel abstractions into a single Channel, replacing the v4 UnderlayHandler god-interface with focused interfaces (Senders, MessageSourceProvider, UnderlayEventListener) and moving the dial/grouping/backoff machinery into the library behind a DialPolicy.
The multi-underlay consumers decompose accordingly:
ctrlchan(control channel) - keeps survive-to-zero (Min: 0); short-lived-connection detection is disabled on its dial policy so a clean close reconnects promptlyxlink(router links) - default underlay keeps Min: 1 (loss closes the channel); the dial policy wraps the cloned link-id identity dialer, preserving link-id-as-channel-idrouter/xgress_edge) - default underlay Min: 1Construction moves to
channel.NewChannel(*Config), handler retrieval toGetSenders(), and the self-describing receive handlers tochannel.ContentTypeReceiver/AddReceiveHandlers. The wire protocol is unchanged, so a mixed v4/v5 fleet remains safe.Consumes sdk-golang v1.9.0 (openziti/sdk-golang#945).