pub struct SmartHttpConnection { /* private fields */ }Expand description
A live smart-HTTP connection: the parsed advertisement plus the context
needed to issue the stateless-RPC POST. Smart HTTP is request/response, so
there is no persistent duplex socket — the reader/writer accessors are
not used by http_fetch, which drives the POST loop directly.
reader/writer return empty/sink streams; embedders that want to drive a
custom negotiation should use http_fetch (or read the advertisement via
the accessors and POST through their HttpClient).
Implementations§
Trait Implementations§
Source§impl Connection for SmartHttpConnection
impl Connection for SmartHttpConnection
Source§fn reader(&mut self) -> &mut dyn Read
fn reader(&mut self) -> &mut dyn Read
The readable half of the pkt-line stream (server -> client).
Source§fn writer(&mut self) -> &mut dyn Write
fn writer(&mut self) -> &mut dyn Write
The writable half of the pkt-line stream (client -> server).
Source§fn advertised_refs(&self) -> &[(String, ObjectId)]
fn advertised_refs(&self) -> &[(String, ObjectId)]
The refs the server advertised on connect (excluding
HEAD, the
capabilities^{} carrier, and peeled ^{} lines). Empty for a protocol
v2 connection, whose refs are obtained later via ls-refs.Source§fn capabilities(&self) -> &[String]
fn capabilities(&self) -> &[String]
The capability tokens advertised by the server (from the first ref line
in v0/v1, or the v2 capability block).
Source§fn head_symref(&self) -> Option<&str>
fn head_symref(&self) -> Option<&str>
The target of the server’s
HEAD symref (e.g. refs/heads/main), if it
advertised one.Source§fn protocol_version(&self) -> u8
fn protocol_version(&self) -> u8
The negotiated protocol version (
0, 1, or 2).Source§fn finish_send(&mut self)
fn finish_send(&mut self)
Half-close the write side of the stream, signalling end-of-input to the
server (the wire equivalent of the CLI’s
drop(stdin)). Read moreAuto Trait Implementations§
impl Freeze for SmartHttpConnection
impl RefUnwindSafe for SmartHttpConnection
impl Send for SmartHttpConnection
impl Sync for SmartHttpConnection
impl Unpin for SmartHttpConnection
impl UnsafeUnpin for SmartHttpConnection
impl UnwindSafe for SmartHttpConnection
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