fn opposite(leg: Leg) -> LegExpand description
The leg a unit read on leg leaves this proxy by.
A proxy holds two connections and forwards between them, so the leg a unit is written on is always the other one. The direction is unchanged — traffic the client published is uplink on both legs — which is why this takes a leg rather than a side: naming the departure cell needs the leg flipped and nothing else.