Envoy Architecture# Source code design Design Patterns and Jargon Callback design pattern Subsystems Event-driven vs. threaded model General flow of HTTP Reverse Proxy Downstream TCP connection establishment Event Handling Abstraction Framework libevent Core Ideas libevent Core Ideas event event_base Setting up a default event_base event loop function flags returns Pseudocode internal time cache Dumping the event_base status Running a function over every event in an event_base Working with events event state Constructing event objects example event flags callback argument About Event Persistence Constructing signal events Making events pending and non-pending Events with priorities Finding the currently running event Inspecting event status Manually activating an event Extended reading Listener Listener example Listener internal components Listener filters Network Filter Chains Listener related components and startup sequence Code-level startup sequence The proof process Listener connection establishment details TCP Connection Establishment Procedure Proofing Network Filter Network Filter Chains Network Filter Network Filter Framework Design Concepts Network Filter object relationships Network Filter Framework Design Details Network Filter - ReadFilter Collaboration Network Filter - WriteFilter Collaboration Extended Reading http connection manager http filter abstract object definition http filter C++ class relationships Router Extended Reading HTTP/1.1 Stream (draft) Flow Control Some flow control terms TCP flow control implementation HTTP2 Flow Control Implementation HTTP2 flow control general flow Downstream/Upstream connection backs-up overview Upstream connection and Upstream http stream back-up at the same time Collaboration of Router::Filter during Upstream back-up Collaboration of Http::ConnectionManagerImpl when Downstream back-up HTTP decode/encode filter flow control detail Decoder filters Encoder filters HTTP and HTTP/2 codec upstream send buffer HTTP and HTTP/2 network upstream network buffer Ref.