samrussell / trasa

A python router

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Peering level abstraction

samrussell opened this issue · comments

Lots of stuff is split around, but there's a definite thing in the standard where a peering is with a lsr_id:label_space_id UUID, and we need an object that exists at that level. It can hold the TCP connection, the state machine, and the logic around PDUs be next to it (something next door that unpacks PDUs and puts it in the right mailbox for this peering, and then accepts messages from peerings and building the PDUs accordingly).

Biggest benefit I'm seeing at the moment is cleaning up that LdpStateMachine class, it takes messages but returns PDUs (which hold packed messages) and fixing that so it takes a message and returns a list of messages makes that much cleaner