Struct Play

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

The command to tell playing information.

Following format is required:

FieldAMF TypeValue
NullNothing but an AMF’s type marker is in.
Stream NameStringA name for subscribing a data from the server.
Start TimeNumberTime offset of data subscribing.
Note this can be several negative number (See Play Mode).

§Play Mode

ValuePlay ModeDescription
-2BothSubscribes recorded data if its data isn’t on a livestream (default).
-1LiveSubscribes only as livestream.
0
(And above)
RecordedSubscribes only as recorded data.

Note the server can treat as some error if its data doesn’t exist as specified mode.

Implementations§

Source§

impl Play

Source

pub fn new( stream_name: AmfString, start_time: Duration, play_mode: PlayMode, ) -> Self

Constructs a Play command.

Source

pub fn get_stream_name(&self) -> &AmfString

Gets the stream name. (e.g. filename)

Source

pub fn get_start_time(&self) -> Duration

Gets the start time.

Source

pub fn get_play_mode(&self) -> PlayMode

Gets the play mode.

Trait Implementations§

Source§

impl ChunkData for Play

Source§

const CHANNEL: Channel = Channel::Source

Source§

const MESSAGE_TYPE: MessageType = MessageType::Command

Source§

impl Clone for Play

Source§

fn clone(&self) -> Play

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Play

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Decoder<Play> for ByteBuffer

Source§

fn decode(&mut self) -> IOResult<Play>

Decodes bytes into a Play command.

§Errors

When some field misses.

When some value is inconsistent with its marker.

When some value is invalid for UTF-8 string.

§Examples
use sheave_core::{
    ByteBuffer,
    Decoder,
    Encoder,
    messages::{
        Play,
        amf::v0::{
            AmfString,
            Null,
            Number
        }
    }
};

let mut buffer = ByteBuffer::default();
buffer.encode(&Null);
buffer.encode(&AmfString::default());
buffer.encode(&Number::new(-2000f64));
assert!(Decoder::<Play>::decode(&mut buffer).is_ok());

let mut buffer = ByteBuffer::default();
assert!(Decoder::<Play>::decode(&mut buffer).is_err())
Source§

impl Encoder<Play> for ByteBuffer

Source§

fn encode(&mut self, play: &Play)

Encodes a Play command into bytes.

Source§

impl From<Play> for (AmfString, Duration, PlayMode)

Source§

fn from(play: Play) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for Play

Source§

fn eq(&self, other: &Play) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Command for Play

Source§

impl StructuralPartialEq for Play

Auto Trait Implementations§

§

impl Freeze for Play

§

impl RefUnwindSafe for Play

§

impl Send for Play

§

impl Sync for Play

§

impl Unpin for Play

§

impl UnwindSafe for Play

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. 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.
§

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

§

fn vzip(self) -> V