Go to content

Mat Trudel - bandit on the loose! Networking in Elixir demystified

bandit is the name of a pure-Elixir HTTP server written specifically to serve Plug-based applications. It features support for HTTP/1.1 & HTTP/2 connections via both HTTP & HTTPS and has been written with correctness and simplicity in mind from day one. While it is still in active development, bandit (and its lower-level companion library Thousand Island) has an ambitious goal to become the go-to foundation for networking and HTTP in Elixir. In this talk, I’ll talk about bandit’s surprising origin story, show how low-level networking is a perfect showpiece for OTP, and hopefully shed some light on what happens in the network stack underneath every Phoenix application. Along the way, we’ll live-code an implementation of a couple of RFCs, demonstrate the power and safety of pattern matching, and explore some of the dustier corners of the HTTP specification. If you’ve ever wondered about the nuts & bolts of how networking works in Elixir, or even wanted to try building your own service, this talk is for you. https://github.com/mtrudel/bandit

October 12, 2021