pub enum TuEvent {
Request(Box<Request>),
Response(Box<Response>),
Ack(Box<Request>),
Timeout,
TransportError,
}Expand description
What the transaction has to tell the transaction user.
Variants§
Request(Box<Request>)
A request arrived that the TU has not seen before.
A retransmission never produces this: the transaction answers those itself. Without that, a UDP peer that misses one response makes the application process the same REGISTER seven times.
Response(Box<Response>)
A response arrived.
Under RFC 6026 a 2xx to an INVITE can arrive more than once — a forking proxy produces exactly that — and each one is delivered. Two 200s for one INVITE is a fork, not a bug.
Ack(Box<Request>)
An ACK for a 2xx response, which is a separate transaction and therefore the TU’s business (RFC 3261 §13.2.2.4, RFC 6026).
Timeout
No answer within 64·T1.
TransportError
The transport could not deliver.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TuEvent
impl RefUnwindSafe for TuEvent
impl Send for TuEvent
impl Sync for TuEvent
impl Unpin for TuEvent
impl UnsafeUnpin for TuEvent
impl UnwindSafe for TuEvent
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