csperkins.org

Post Sockets at IETF 103

The Post Sockets cabal was at IETF 103 in Bangkok in November 2018. We gave an update on some recent changes to the Transport Services Architecture to the TAPS working group, and met separately to discuss the next steps towards completing the work.

We submitted the -02 versions of the architecture, API, and implementation drafts just prior to the IETF meeting. The architecture draft was updated to better explain the event-driven and message-oriented nature of the transport services framework, and its intent to support flexible implementation. The API draft now has an expanded and reorganised discussion of transport properties, updates around name resolution, expanded discussion of connection groups, an InitiateWithIdempotentSend() action along with some discussion about managing connections, and includes more discussion around connection state and ordering of operations and events. Updates to the implementation draft were minor, fixing only some editorial issues.

During the TAPS working group meeting, Michael Welzl reviewed some open issues with the drafts. He led a discussion of connection and message properties and cached state, to try to reach closure on some ongoing discussions. This was productive, especially around understanding what transport properties should be listed as experimental in the draft and what should be incorporated into the main text. We will shortly submit updated versions of the drafts reflecting this discussion.

The Post Sockets cabal meeting at IETF 103 In the follow-on side meeting, we discussed our plans for completing the architecture draft, for revising the implementation draft now that the terminology is stabilising, and for resolving the open issues with the API. We expect that the architecture will be stabilised this year, since it seems relatively stable and the problem is well understood. The API specification should be complete by the IETF 104 meeting in Prague in March 2019, and the implementation guidelines by the end of 2019. This latter depends on implementation progress, to ensure we can give good guidance. While Apple's implementation exists, and is widely used, further implementation experience in different programming languages, and on different operating systems, would be useful.