Writes up IConnectionFilter for content authors: the accept-path contract (allocation-free, non-blocking, side effects owned by the filter), registration order and short-circuiting, the unregister-on-throw policy, and why this must not be routed through EventSink.InvokeSocketConnect. Also records the IPAddress <-> UInt128 normalization quirk. Addresses are normalized to IPv6 form, so a v4 address round-tripped through UInt128 can come back as InterNetworkV6 with IsIPv4MappedToIPv6 set. That is what the seemingly redundant clause in ToUInt128 is defending, not a stray condition. Noted as a follow-up rather than churned mid-feature: the normalization would read better as an explicit "to canonical v6 bits" step that never needs the family check. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Application | ||
| BuildTool | ||
| Logger | ||
| Server | ||
| Server.Tests | ||
| UOContent | ||
| UOContent.Tests | ||