pub struct SplitAdapter { /* private fields */ }Expand description
Lock-based split adapter for backward-compatible transport splitting.
Wraps a Box<dyn Transport> in Arc<Mutex<>> and provides reader/writer
halves that serialize access. This is the fallback for transports that
choose not to provide a native split.
Implementations§
Source§impl SplitAdapter
impl SplitAdapter
Sourcepub fn new(transport: Box<dyn Transport>) -> Self
pub fn new(transport: Box<dyn Transport>) -> Self
Creates a new SplitAdapter wrapping the given transport.
§Example
use claude_code::transport::subprocess_cli::{Prompt, SubprocessCliTransport};
use claude_code::transport::SplitAdapter;
let transport = SubprocessCliTransport::new(Prompt::Messages, Default::default()).unwrap();
let _adapter = SplitAdapter::new(Box::new(transport));Sourcepub fn reader(&self) -> SplitAdapterReader
pub fn reader(&self) -> SplitAdapterReader
Returns a reader half backed by the shared transport.
§Example
use claude_code::transport::subprocess_cli::{Prompt, SubprocessCliTransport};
use claude_code::transport::SplitAdapter;
let transport = SubprocessCliTransport::new(Prompt::Messages, Default::default()).unwrap();
let adapter = SplitAdapter::new(Box::new(transport));
let _reader = adapter.reader();Sourcepub fn writer(&self) -> SplitAdapterWriter
pub fn writer(&self) -> SplitAdapterWriter
Returns a writer half backed by the shared transport.
§Example
use claude_code::transport::subprocess_cli::{Prompt, SubprocessCliTransport};
use claude_code::transport::SplitAdapter;
let transport = SubprocessCliTransport::new(Prompt::Messages, Default::default()).unwrap();
let adapter = SplitAdapter::new(Box::new(transport));
let _writer = adapter.writer();Trait Implementations§
Auto Trait Implementations§
impl Freeze for SplitAdapter
impl !RefUnwindSafe for SplitAdapter
impl Send for SplitAdapter
impl Sync for SplitAdapter
impl Unpin for SplitAdapter
impl UnsafeUnpin for SplitAdapter
impl !UnwindSafe for SplitAdapter
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
Mutably borrows from an owned value. Read more