There is a general SocketServer class that accepts connections and spawns new threads when tcp clients connect.
There is a specific AdbServer and AdbProtocolHandler that implements the adb protocol.
There is also a FakeAdbServer in "mocks" that implements a mock server which you can conveniently control in unit test, e.g. setup how many devices should be connected and how they should respond to e.g. files being pushed/pulled.
How dose the server module (se.vidstige.jadb.server) work.