+ -- Append line to the head of the buffer and loop.
+ loop cfg h new_buffer
+
+
+-- | Once we're connected to a feed, we need to log in. There's no
+-- protocol for this (the docs don't mention one), but we have
+-- (apparently) successfully guessed it.
+--
+-- The first thing TSN sends once we've connected is the string
+-- "Username: ", containing 10 ASCII characters. We then send a
+-- username, followed by a newline. If TSN likes the username, the
+-- second they'll send is the string "Password: ", also containing
+-- 10 ASCII characters, to which we reply in kind.
+--
+-- Assuming the above will always hold, it is implemented as follows:
+--
+-- 1. Receive 10 chars
+--
+-- 2. Send username if we got the username prompt
+--
+-- 3. Receive 10 chars
+--
+-- 4. Send password if we got the password prompt
+--
+-- If TSN likes the password as well, they send the string "The
+-- Sports Network" before finally beginning to stream the feed.
+--