Skip to content

tech debt: connection handler implementation #15126

@lambdai

Description

@lambdai

ConnectionHandlerImpl maintains the active listeners per worker thread.

Envoy has two categories of listener, tcp series and udp series. From the view of worker, both categories share the same interface: start, stop ...

It's a different story from the perspective of a listener.
Currently,

  1. udp listener put udp related function into ConnectionHandler interface.

  2. ActiveTcpListener is an internal class of ConnectionHandlerImpl and it depends on the implementation of ConnectionHandler instead of the interface. This is a huge pain. To test an ActiveTcpListener we have to push a long way from a listener config. It's hard to manipulate the internal state of a ActiveTcpListener obj, or a udp listener.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions