Struct sozu_lib::protocol::http::Http[][src]

pub struct Http<Front: SocketHandler> {
Show fields pub frontend: Front, pub backend: Option<TcpStream>, pub status: SessionStatus, pub front_buf: Option<BufferQueue>, pub back_buf: Option<BufferQueue>, pub app_id: Option<String>, pub request_id: Ulid, pub backend_id: Option<String>, pub front_readiness: Readiness, pub back_readiness: Readiness, pub public_address: SocketAddr, pub session_address: Option<SocketAddr>, pub backend_address: Option<SocketAddr>, pub sticky_name: String, pub sticky_session: Option<StickySession>, pub protocol: Protocol, pub request: Option<RequestState>, pub response: Option<ResponseState>, pub req_header_end: Option<usize>, pub res_header_end: Option<usize>, pub added_req_header: Option<AddedRequestHeader>, pub added_res_header: String, pub keepalive_count: usize, pub backend_stop: Option<Instant>, pub closing: bool, // some fields omitted
}

Fields

frontend: Frontbackend: Option<TcpStream>status: SessionStatusfront_buf: Option<BufferQueue>back_buf: Option<BufferQueue>app_id: Option<String>request_id: Ulidbackend_id: Option<String>front_readiness: Readinessback_readiness: Readinesspublic_address: SocketAddrsession_address: Option<SocketAddr>backend_address: Option<SocketAddr>sticky_name: Stringsticky_session: Option<StickySession>protocol: Protocolrequest: Option<RequestState>response: Option<ResponseState>req_header_end: Option<usize>res_header_end: Option<usize>added_req_header: Option<AddedRequestHeader>added_res_header: Stringkeepalive_count: usizebackend_stop: Option<Instant>closing: bool

Implementations

impl<Front: SocketHandler> Http<Front>[src]

pub fn new(
    sock: Front,
    token: Token,
    request_id: Ulid,
    pool: Weak<RefCell<Pool>>,
    public_address: SocketAddr,
    session_address: Option<SocketAddr>,
    sticky_name: String,
    protocol: Protocol
) -> Http<Front>
[src]

pub fn reset(&mut self)[src]

pub fn log_context(&self) -> LogContext<'_>[src]

pub fn print_state(&self, prefix: &str) -> String[src]

pub fn set_answer(&mut self, answer: DefaultAnswerStatus, buf: Rc<Vec<u8>>)[src]

pub fn added_request_header(
    &self,
    public_address: SocketAddr,
    client_address: Option<SocketAddr>
) -> AddedRequestHeader
[src]

pub fn added_response_header(&self) -> String[src]

pub fn front_socket(&self) -> &TcpStream[src]

pub fn back_socket(&self) -> Option<&TcpStream>[src]

pub fn back_token(&self) -> Option<Token>[src]

pub fn test_back_socket(&mut self) -> bool[src]

pub fn is_valid_backend_socket(&mut self) -> bool[src]

pub fn close(&mut self)[src]

pub fn set_back_socket(&mut self, socket: TcpStream, address: SocketAddr)[src]

pub fn set_app_id(&mut self, app_id: String)[src]

pub fn set_backend_id(&mut self, backend_id: String)[src]

pub fn set_back_token(&mut self, token: Token)[src]

pub fn clear_back_token(&mut self)[src]

pub fn front_readiness(&mut self) -> &mut Readiness[src]

pub fn back_readiness(&mut self) -> &mut Readiness[src]

pub fn timeout_status(&self) -> TimeoutStatus[src]

pub fn remove_backend(&mut self) -> (Option<String>, Option<SocketAddr>)[src]

pub fn front_hup(&mut self) -> SessionResult[src]

pub fn back_hup(&mut self) -> SessionResult[src]

pub fn shutting_down(&mut self) -> SessionResult[src]

pub fn get_response_status(&self) -> Option<&RStatusLine>[src]

Retrieve the response status from the http response state

pub fn get_host(&self) -> Option<&str>[src]

pub fn get_request_line(&self) -> Option<&RRequestLine>[src]

pub fn get_session_address(&self) -> Option<SocketAddr>[src]

pub fn get_backend_address(&self) -> Option<SocketAddr>[src]

pub fn websocket_context(&self) -> String[src]

pub fn log_request_success(&self, metrics: &SessionMetrics)[src]

pub fn log_default_answer_success(&self, metrics: &SessionMetrics)[src]

pub fn log_request_error(&mut self, metrics: &mut SessionMetrics, message: &str)[src]

pub fn readable(&mut self, metrics: &mut SessionMetrics) -> SessionResult[src]

pub fn readable_parse(&mut self, metrics: &mut SessionMetrics) -> SessionResult[src]

pub fn writable(&mut self, metrics: &mut SessionMetrics) -> SessionResult[src]

pub fn back_writable(&mut self, metrics: &mut SessionMetrics) -> SessionResult[src]

pub fn back_readable(
    &mut self,
    metrics: &mut SessionMetrics
) -> (ProtocolResult, SessionResult)
[src]

Auto Trait Implementations

impl<Front> !RefUnwindSafe for Http<Front>

impl<Front> !Send for Http<Front>

impl<Front> !Sync for Http<Front>

impl<Front> Unpin for Http<Front> where
    Front: Unpin

impl<Front> !UnwindSafe for Http<Front>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Tap for T

impl<T> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,