Interface ProtocolExtension<T extends BabelProtocol>

Type Parameters:
T - the protocol type this extension targets
All Superinterfaces:
EventHandler<ProtocolEvent>
All Known Implementing Classes:
BroadcastConsumerExtension, BroadcastProviderExtension, MembershipConsumerExtension, MembershipProviderExtension, ResolverProviderExtension, SignedMessageExtension

public interface ProtocolExtension<T extends BabelProtocol> extends EventHandler<ProtocolEvent>
A pluggable cross-cutting extension that augments a BabelProtocol with additional event handling capabilities.

Extensions allow the Babel runtime to wire up higher-level abstractions (e.g., broadcast, membership) on top of raw ProtocolEvents without requiring protocol implementations to extend a concrete base class. Each extension declares:

Concrete implementations are paired with a ProtocolExtensionFactory and registered on the BabelBootstrap before building the runtime.

See Also: