by Darius Kazemi, June 10 2019
RFC-161 is titled “A Solution to the Race Condition in the ICP”. It's authored by Arie Shoshani of System Development Corporation on May 19th, 1971.
The technical content
This RFC responds to a problem (and its attendant solution) brought up by a bunch of UCLA folks in RFC-143. Shoshani claims that their solution only works for certain NCP implementations: for example, UCLA's NCP will drop a message if it can't process it, but SDC's will queue the message for later processing, and UCLA's solution doesn't take queueing into account.
Shoshani suggests that adding an intermediary step involving an extra set of sockets on both sides of the connection will solve the race condition.
I'm unsure of how this solution works but maybe it acts as like a buffer or a latch in a control system, which is a pretty common pattern for solving race conditions.
How to follow this blog
I'm Darius Kazemi. I'm an independent technologist and artist. I do a lot of work on the decentralized web with ActivityPub, including a Node.js reference implementation, an RSS-to-ActivityPub converter, and a fork of Mastodon, called Hometown. You can support my work via my Patreon.