1pub mod bench;
7pub mod binary;
8pub mod capability;
9pub mod cli;
10pub mod compat;
11pub mod context;
12pub mod dispatch;
13pub mod error;
14pub mod multiplex;
15pub mod observability;
16pub mod protocol;
17pub mod reactor;
18pub mod resource;
19pub mod security;
20pub mod server;
21pub mod shutdown;
22pub mod stream;
23pub mod sync;
24pub mod transport;
25
26pub use bench::{
27 compare_sizes_auto, estimate_binary_size, measure_dcp_size, measure_json_rpc_size,
28 SizeComparison,
29};
30pub use capability::CapabilityManifest;
31pub use cli::{convert_mcp_to_dcp, DcpSchema, McpSchema};
32pub use compat::{
33 JsonRpcError, JsonRpcParser, JsonRpcRequest, JsonRpcResponse, McpAdapter, SseTransport,
34 StdioTransport,
35};
36pub use context::{ContextLayout, DcpContext, ToolState};
37pub use dispatch::ServerCapabilities;
38pub use error::{DCPError, SecurityError};
39pub use multiplex::{
40 MultiplexError, MultiplexedConnection, PipelinedClient, RequestPipeline, StreamFlags,
41 StreamHeader, StreamState, StreamStatus, MAX_STREAMS, STREAM_HEADER_SIZE,
42};
43pub use observability::{
44 create_span, init_tracing, LogConfig, LogEntry, LogFormat, LogLevel, MetricsConfig,
45 PrometheusMetrics, RequestMetrics, RequestSpan, Span, SpanKind, SpanStatus, StructuredLogger,
46 Tracer, TracingConfig,
47};
48pub use reactor::{
49 create_default_reactor, create_reactor, Completion, EpollReactor, Event, Interest,
50 IoUringReactor, IocpReactor, KqueueReactor, RawFd, Reactor, ReactorConfig, Token,
51};
52pub use resource::{
53 ResourceContent, ResourceError, ResourceHandler, ResourceInfo, ResourceList, ResourceRegistry,
54 SubscriptionId,
55};
56pub use server::{
57 DcpServer, Metrics, MetricsSnapshot, ProtocolVersion, ServerConfig, ServerInfo, Session,
58};
59pub use shutdown::{
60 setup_default_handlers, wait_for_ctrl_c, RequestGuard, ShutdownCoordinator, ShutdownLogger,
61 ShutdownProgress, Signal, SignalHandler,
62};
63pub use transport::{
64 Connection, FrameCodec, FrameError, FrameHeader, ProtocolMode, TcpConfig, TcpServer, TlsConfig,
65 TlsVersion, MAX_MESSAGE_SIZE, PROTOCOL_VERSION,
66};