Skip to content

Migrate to channel/v5 #3983

Description

@plorenz

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions