pub struct GetOperation<'a> { /* private fields */ }
Expand description

Represents an in-progress GET Operation.

Example Usage:

let obex_client = ObexClient::new(..);
let get_operation = obex_client.get()?;
// Optionally make request for information about the payload.
let initial_headers: HeaderSet = ...;
let received_headers = get_operation.get_information(initial_headers).await?;
// Process `received_headers` and make a subsequent request for more information.
let additional_headers: HeaderSet = ...;
let additional_received_headers = get_operation.get_information(additional_headers).await?;
// Make the "final" request to get data.
let body = get_operation.get_data(HeaderSet::new()).await?;
// Process `body` - `get_operation` is consumed and the operation is assumed to be complete.

Implementations§

source§

impl<'a> GetOperation<'a>

source

pub fn new(headers: HeaderSet, transport: ObexTransport<'a>) -> Self

source

pub async fn get_information( &mut self, headers: HeaderSet ) -> Result<HeaderSet, Error>

Request information about the payload. Returns the informational headers from the peer response on success, Error otherwise.

Only one such request can be outstanding at a time. headers must be nonempty. If no additional information is needed, use GetOperation::get_data instead.

source

pub async fn get_data(self, headers: HeaderSet) -> Result<Vec<u8>, Error>

Request the user data payload from the remote OBEX server. Returns the byte payload on success, Error otherwise.

The GET operation is considered complete after this.

source

pub async fn terminate(self, headers: HeaderSet) -> Result<HeaderSet, Error>

Request to terminate a multi-packet GET request early. Returns the informational headers from the peer response on success, Error otherwise. If Error is returned, there are no guarantees about the synchronization between the local OBEX client and remote OBEX server.

Trait Implementations§

source§

impl<'a> Debug for GetOperation<'a>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for GetOperation<'a>

§

impl<'a> !RefUnwindSafe for GetOperation<'a>

§

impl<'a> !Send for GetOperation<'a>

§

impl<'a> !Sync for GetOperation<'a>

§

impl<'a> Unpin for GetOperation<'a>

§

impl<'a> !UnwindSafe for GetOperation<'a>

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
§

impl<T> DebugExt for T
where T: Debug,

§

fn debug(&self) -> String

§

impl<T> Encode<Ambiguous1> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<T> Encode<Ambiguous2> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

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

§

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>,

§

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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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