pub struct DcpServer {
pub context: Arc<DcpContext>,
pub config: ServerConfig,
pub metrics: Arc<Metrics>,
/* private fields */
}Expand description
DCP Server
Fields§
§context: Arc<DcpContext>Shared context
config: ServerConfigServer configuration
metrics: Arc<Metrics>Performance metrics
Implementations§
Source§impl DcpServer
impl DcpServer
Sourcepub fn new(
router: BinaryTrieRouter,
context: DcpContext,
config: ServerConfig,
) -> Self
pub fn new( router: BinaryTrieRouter, context: DcpContext, config: ServerConfig, ) -> Self
Create a new DCP server
Sourcepub fn security_audit(&self) -> SecurityAuditLog
pub fn security_audit(&self) -> SecurityAuditLog
Get structured security audit receipts.
Sourcepub fn session_count(&self) -> usize
pub fn session_count(&self) -> usize
Get active session count
Sourcepub fn invoke(
&self,
tool_id: u16,
args: &SharedArgs<'_>,
) -> Result<ToolResult, DCPError>
pub fn invoke( &self, tool_id: u16, args: &SharedArgs<'_>, ) -> Result<ToolResult, DCPError>
Invoke a tool by ID.
Raw invocation is deny-by-default. Use invoke_authorized with the
negotiated capability manifest for execution.
Invoke a tool only when the negotiated capabilities allow it.
Invoke a signed tool call only when signature, args hash, negotiated capabilities, schema validation, and replay protection all pass.
Sourcepub fn invoke_by_name(
&self,
name: &str,
args: &SharedArgs<'_>,
) -> Result<ToolResult, DCPError>
pub fn invoke_by_name( &self, name: &str, args: &SharedArgs<'_>, ) -> Result<ToolResult, DCPError>
Invoke a tool by name (for MCP compatibility).
Raw name-based invocation is deny-by-default. Use
invoke_by_name_authorized after capability negotiation.
Invoke a named tool only when negotiated capabilities allow it.
Sourcepub fn upgrade_session(&self, session_id: u64) -> Result<(), DCPError>
pub fn upgrade_session(&self, session_id: u64) -> Result<(), DCPError>
Upgrade a session from MCP to DCP
Sourcepub fn cleanup_expired_sessions(&self) -> usize
pub fn cleanup_expired_sessions(&self) -> usize
Clean up expired sessions
Sourcepub fn server_info(&self) -> ServerInfo
pub fn server_info(&self) -> ServerInfo
Get server info