<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>netchan</title>
    <link>https://orangetide.github.io/netchan/</link>
    <description>Multiplexed reliable and unreliable channels over an unreliable datagram transport, in portable C11</description>
    <language>en-us</language>
    <atom:link href="https://orangetide.github.io/netchan/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Introduction</title>
      <link>https://orangetide.github.io/netchan/introduction/</link>
      <guid isPermaLink="true">https://orangetide.github.io/netchan/introduction/</guid>
      <pubDate></pubDate>
      <description>What netchan is, what it carries, and the limits it accepts on purpose.</description>
      <category>manual</category>
    </item>
    <item>
      <title>Architecture</title>
      <link>https://orangetide.github.io/netchan/architecture/</link>
      <guid isPermaLink="true">https://orangetide.github.io/netchan/architecture/</guid>
      <pubDate></pubDate>
      <description>The seam that lets one object file run over UDP, a WebSocket, or an encrypted tunnel.</description>
      <category>manual</category>
    </item>
    <item>
      <title>Protocol overview</title>
      <link>https://orangetide.github.io/netchan/protocol/</link>
      <guid isPermaLink="true">https://orangetide.github.io/netchan/protocol/</guid>
      <pubDate></pubDate>
      <description>Datagrams, frames, channels, and how a session is established.</description>
      <category>manual</category>
    </item>
    <item>
      <title>Tutorial: UDP peer to peer</title>
      <link>https://orangetide.github.io/netchan/tutorial-udp/</link>
      <guid isPermaLink="true">https://orangetide.github.io/netchan/tutorial-udp/</guid>
      <pubDate></pubDate>
      <description>A working peer in one file: open a socket, feed netchan, drain what it wants to send.</description>
      <category>manual</category>
    </item>
    <item>
      <title>Tutorial: client and server</title>
      <link>https://orangetide.github.io/netchan/tutorial-client-server/</link>
      <guid isPermaLink="true">https://orangetide.github.io/netchan/tutorial-client-server/</guid>
      <pubDate></pubDate>
      <description>One connection object per peer, demultiplexed by connection id.</description>
      <category>manual</category>
    </item>
    <item>
      <title>Tutorial: authentication</title>
      <link>https://orangetide.github.io/netchan/tutorial-auth/</link>
      <guid isPermaLink="true">https://orangetide.github.io/netchan/tutorial-auth/</guid>
      <pubDate></pubDate>
      <description>Adding the encrypted transport and an ssh-shaped login to a working session.</description>
      <category>manual</category>
    </item>
    <item>
      <title>Tutorial: extending the protocol</title>
      <link>https://orangetide.github.io/netchan/tutorial-extend/</link>
      <guid isPermaLink="true">https://orangetide.github.io/netchan/tutorial-extend/</guid>
      <pubDate></pubDate>
      <description>Adding your own frame types without breaking a peer that predates them.</description>
      <category>manual</category>
    </item>
    <item>
      <title>Message encoding</title>
      <link>https://orangetide.github.io/netchan/encoding/</link>
      <guid isPermaLink="true">https://orangetide.github.io/netchan/encoding/</guid>
      <pubDate></pubDate>
      <description>The IDL, the tagged wire format, and how a reader skips a field it has never heard of.</description>
      <category>manual</category>
    </item>
    <item>
      <title>Protocol reference</title>
      <link>https://orangetide.github.io/netchan/protocol-reference/</link>
      <guid isPermaLink="true">https://orangetide.github.io/netchan/protocol-reference/</guid>
      <pubDate></pubDate>
      <description>Frame layouts, header bits, and the constants that bound the implementation.</description>
      <category>manual</category>
    </item>
    <item>
      <title>Testing and analysis</title>
      <link>https://orangetide.github.io/netchan/testing/</link>
      <guid isPermaLink="true">https://orangetide.github.io/netchan/testing/</guid>
      <pubDate></pubDate>
      <description>Five layers of checking, from unit tests to a fuzzer, and what each one has actually found.</description>
      <category>manual</category>
    </item>
    <item>
      <title>API reference</title>
      <link>https://orangetide.github.io/netchan/api/</link>
      <guid isPermaLink="true">https://orangetide.github.io/netchan/api/</guid>
      <pubDate></pubDate>
      <description>Every function netchan.h declares, generated from the header so it cannot drift from the code.</description>
      <category>manual</category>
    </item>
  </channel>
</rss>
