Struct ServerAssociation

Source
pub struct ServerAssociation { /* private fields */ }
Expand description

A DICOM upper level association from the perspective of an accepting application entity.

The most common operations of an established association are send and receive. Sending large P-Data fragments may be easier through the P-Data sender abstraction (see send_pdata).

When the value falls out of scope, the program will shut down the underlying TCP connection.

Implementations§

Source§

impl ServerAssociation

Source

pub fn presentation_contexts(&self) -> &[PresentationContextResult]

Obtain a view of the negotiated presentation contexts.

Source

pub fn client_ae_title(&self) -> &str

Obtain the remote DICOM node’s application entity title.

Source

pub fn send(&mut self, msg: &Pdu) -> Result<()>

Send a PDU message to the other intervenient.

Source

pub fn receive(&mut self) -> Result<Pdu>

Read a PDU message from the other intervenient.

Source

pub fn abort(self) -> Result<()>

Send a provider initiated abort message and shut down the TCP connection, terminating the association.

Source

pub fn send_pdata( &mut self, presentation_context_id: u8, ) -> PDataWriter<&mut TcpStream>

Prepare a P-Data writer for sending one or more data item PDUs.

Returns a writer which automatically splits the inner data into separate PDUs if necessary.

Source

pub fn receive_pdata(&mut self) -> PDataReader<&mut TcpStream>

Prepare a P-Data reader for receiving one or more data item PDUs.

Returns a reader which automatically receives more data PDUs once the bytes collected are consumed.

Source

pub fn inner_stream(&mut self) -> &mut TcpStream

Obtain access to the inner TCP stream connected to the association acceptor.

This can be used to send the PDU in semantic fragments of the message, thus using less memory.

Note: reading and writing should be done with care to avoid inconsistencies in the association state. Do not call send and receive while not in a PDU boundary.

Trait Implementations§

Source§

impl Debug for ServerAssociation

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more