Skip to content

A transport import seam: polymorph:iroh/transport mirroring upstream's CustomEndpoint #61

Description

@lannbot

From #13's section E, filed so the seam does not ossify.

Internally, endpoint/ reinvented upstream iroh's transport abstraction almost exactly: the synthetic 2001:db8::/48 standins plus the routes table are upstream's MultipathMappedAddr ULA mapping plus Transports dispatch, independently converged. That seam is currently hardcoded to three wires (relay, UDP, WebRTC), and the world's fixed import list is the (closed) transport abstraction today.

If this family ever wants Tor/BLE/new wires as components — the thing upstream's unstable-custom-transports does natively — the move is a polymorph:iroh/transport import interface mirroring upstream's CustomEndpoint:

  • send(addr, datagram)
  • receive() -> (addr, datagram)
  • a local-address watch

with dispatch keyed off custom-addr.id (upstream's registry convention, TRANSPORTS.md).

Two loose ends resolve here rather than piecemeal:

Not scheduled: this is a seam to keep clear, not surface to build now. The #14 ruling bears on it — an upstream-backed core would get the seam from upstream's CustomTransport directly, and this interface would become its projection.

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