pub trait SpecifierClass: Debug {
    // Required methods
    fn get_name(&self) -> &'static str;
    fn get_prefixes(&self) -> Vec<&'static str>;
    fn help(&self) -> &'static str;
    fn construct(&self, arg: &str) -> Result<Rc<dyn Specifier>, Box<dyn Error>>;
    fn construct_overlay(
        &self,
        inner: Rc<dyn Specifier>
    ) -> Result<Rc<dyn Specifier>, Box<dyn Error>>;
    fn is_overlay(&self) -> bool;
    fn message_boundary_status(&self) -> ClassMessageBoundaryStatus;
    fn multiconnect_status(&self) -> ClassMulticonnectStatus;
    fn alias_info(&self) -> Option<&'static str>;
}
Expand description

A trait for a each specified type’s accompanying object

Don’t forget to register each instance at the list_of_all_specifier_classes macro.

Required Methods§

source

fn get_name(&self) -> &'static str

The primary name of the class

source

fn get_prefixes(&self) -> Vec<&'static str>

Names to match command line parameters against, with a : colon if needed

source

fn help(&self) -> &'static str

–long-help snippet about this specifier

source

fn construct(&self, arg: &str) -> Result<Rc<dyn Specifier>, Box<dyn Error>>

Given the command line text, construct the specifier arg is what comes after the colon (e.g. //echo.websocket.org in ws://echo.websocket.org)

source

fn construct_overlay( &self, inner: Rc<dyn Specifier> ) -> Result<Rc<dyn Specifier>, Box<dyn Error>>

Given the inner specifier, construct this specifier.

source

fn is_overlay(&self) -> bool

Returns if this specifier is an overlay

source

fn message_boundary_status(&self) -> ClassMessageBoundaryStatus

True if it is not expected to preserve message boundaries on reads

source

fn multiconnect_status(&self) -> ClassMulticonnectStatus

source

fn alias_info(&self) -> Option<&'static str>

If it is Some then is_overlay, construct and most other things are ignored and prefix get replaced…

Implementors§

source§

impl SpecifierClass for BroadcastReuserClass

source§

impl SpecifierClass for AppendFileClass

source§

impl SpecifierClass for ReadFileClass

source§

impl SpecifierClass for WriteFileClass

source§

impl SpecifierClass for ForeachmsgClass

source§

impl SpecifierClass for HttpClass

source§

impl SpecifierClass for HttpPostSseClass

source§

impl SpecifierClass for HttpRequestClass

source§

impl SpecifierClass for JsonRpcClass

source§

impl SpecifierClass for LengthPrefixedClass

source§

impl SpecifierClass for Line2MessageClass

source§

impl SpecifierClass for Message2LineClass

source§

impl SpecifierClass for LiteralReplyClass

source§

impl SpecifierClass for MirrorClass

source§

impl SpecifierClass for TcpConnectClass

source§

impl SpecifierClass for TcpListenClass

source§

impl SpecifierClass for UdpConnectClass

source§

impl SpecifierClass for UdpListenClass

source§

impl SpecifierClass for ReuserClass

source§

impl SpecifierClass for CmdClass

source§

impl SpecifierClass for ExecClass

source§

impl SpecifierClass for ShCClass

source§

impl SpecifierClass for AutoReconnectClass

source§

impl SpecifierClass for WaitForDataClass

source§

impl SpecifierClass for SocksBindClass

source§

impl SpecifierClass for SocksProxyClass

source§

impl SpecifierClass for TlsAcceptClass

source§

impl SpecifierClass for TlsConnectClass

source§

impl SpecifierClass for TlsListenClass

source§

impl SpecifierClass for WssListenClass

source§

impl SpecifierClass for AsyncStdioClass

source§

impl SpecifierClass for InetdClass

source§

impl SpecifierClass for OpenAsyncClass

source§

impl SpecifierClass for OpenFdAsyncClass

source§

impl SpecifierClass for StdioClass

source§

impl SpecifierClass for ThreadedStdioClass

source§

impl SpecifierClass for TimestampClass

source§

impl SpecifierClass for Assert2Class

source§

impl SpecifierClass for AssertClass

source§

impl SpecifierClass for CloggedClass

source§

impl SpecifierClass for ExitOnSpecificByteClass

source§

impl SpecifierClass for LiteralClass

source§

impl SpecifierClass for LogClass

source§

impl SpecifierClass for RandomClass

source§

impl SpecifierClass for AbstractConnectClass

source§

impl SpecifierClass for AbstractDgramClass

source§

impl SpecifierClass for AbstractListenClass

source§

impl SpecifierClass for UnixConnectClass

source§

impl SpecifierClass for UnixDgramClass

source§

impl SpecifierClass for UnixListenClass

source§

impl SpecifierClass for WsClientClass

source§

impl SpecifierClass for WsClientSecureClass

source§

impl SpecifierClass for WsConnectClass

source§

impl SpecifierClass for WsLlClientClass

source§

impl SpecifierClass for WsLlServerClass

source§

impl SpecifierClass for WsAbstractUnixServerClass

source§

impl SpecifierClass for WsInetdServerClass

source§

impl SpecifierClass for WsServerClass

source§

impl SpecifierClass for WsTcpServerClass

source§

impl SpecifierClass for WsUnixServerClass