pub struct SdioClient { /* private fields */ }clients only.Expand description
A TCP Client capable of interacting with an SDIO server.
Implementations§
Source§impl SdioClient
impl SdioClient
Sourcepub async fn new(
bind_address_control: SocketAddr,
bind_address_data: SocketAddr,
trace_during_debug: bool,
) -> Result<Self, CatBridgeError>
pub async fn new( bind_address_control: SocketAddr, bind_address_data: SocketAddr, trace_during_debug: bool, ) -> Result<Self, CatBridgeError>
Create a new SDIO TCP Client.
This will bind listeners, but will not necissarily ensure a client is connected. Most internal methods will ensure a client is connected, but you can
§Errors
If we cannot bind to any of the ports we need to bind too.
pub const fn get_response_timeout(&self) -> Duration
Sourcepub async fn send_telnet_cafe_os(
&self,
message: String,
) -> Result<(), CatBridgeError>
pub async fn send_telnet_cafe_os( &self, message: String, ) -> Result<(), CatBridgeError>
Send a telnet message over CafeOS.
This will chunk the message into 499 byte chunks, as that is the maximum amount SDIO protocol can support at once. This may split char boundaries which is probably fine.
§Errors
If we cannot send out all of the messages to chunk out on the stream. NOTE that some may still be sent, as it will only be the first error that gets bubbled up.
This may mean prior messages may have been sent out first.
Sourcepub async fn send_telnet_dkm(
&self,
message: String,
) -> Result<(), CatBridgeError>
pub async fn send_telnet_dkm( &self, message: String, ) -> Result<(), CatBridgeError>
Send a telnet message over devkitmsg.
This will chunk the message into 499 byte chunks, as that is the maximum amount SDIO protocol can support at once. This may split char boundaries which is probably fine.
§Errors
If we cannot send out all of the messages to chunk out on the stream. NOTE that some may still be sent, as it will only be the first error that gets bubbled up.
This may mean prior messages may have been sent out first.
Sourcepub async fn send_telnet_sysconfigtool(
&self,
message: String,
) -> Result<(), CatBridgeError>
pub async fn send_telnet_sysconfigtool( &self, message: String, ) -> Result<(), CatBridgeError>
Send a telnet message over devkitmsg.
This will chunk the message into 499 byte chunks, as that is the maximum amount SDIO protocol can support at once. This may split char boundaries which is probably fine.
§Errors
If we cannot send out all of the messages to chunk out on the stream. NOTE that some may still be sent, as it will only be the first error that gets bubbled up.
This may mean prior messages may have been sent out first.
Sourcepub async fn send_raw_telnet_message(
&self,
messages: Vec<SdioControlTelnetMessage>,
) -> Result<(), CatBridgeError>
pub async fn send_raw_telnet_message( &self, messages: Vec<SdioControlTelnetMessage>, ) -> Result<(), CatBridgeError>
Send a series of telnet messages across the telnet channel of this SDIO client.
In general you should probably prefer Self::send_telnet_cafe_os,
Self::send_telnet_dkm, Self::send_telnet_sysconfigtool where we
just send strings over.
§Errors
If we cannot send out all of the messages to chunk out on the stream. NOTE that some may still be sent, as it will only be the first error that gets bubbled up.
This may mean prior messages may have been sent out first.
Sourcepub async fn read(
&self,
lba: u32,
blocks: u32,
channel: u32,
) -> Result<Bytes, CatBridgeError>
pub async fn read( &self, lba: u32, blocks: u32, channel: u32, ) -> Result<Bytes, CatBridgeError>
Perform a read request against the remote upstream.
This will read from an address a certain amount of blocks. In real uses the channel is always the same low number, but you may want to perform multi channel reads.
§Errors
If we cannot send a request over the Control stream, or if we cannot read a response on the data stream.
Trait Implementations§
Source§impl Debug for SdioClient
impl Debug for SdioClient
Source§impl Structable for SdioClient
impl Structable for SdioClient
Source§fn definition(&self) -> StructDef<'_>
fn definition(&self) -> StructDef<'_>
Auto Trait Implementations§
impl Freeze for SdioClient
impl !RefUnwindSafe for SdioClient
impl Send for SdioClient
impl !Sync for SdioClient
impl Unpin for SdioClient
impl !UnwindSafe for SdioClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more