Struct Channel

Source
pub struct Channel {
    pub ship_interface: ShipInterface,
    pub uid: String,
    pub url: String,
    pub subscription_list: Vec<Subscription>,
    pub message_id_count: u64,
    /* private fields */
}
Expand description

A Channel which is used to interact with a ship

Fields§

§ship_interface: ShipInterface

ShipInterface this channel is created from

§uid: String

The uid of the channel

§url: String

The url of the channel

§subscription_list: Vec<Subscription>§message_id_count: u64

The current number of messages that have been sent out (which are also defined as message ids) via this Channel

Implementations§

Source§

impl Channel

Channel methods for basic functionality

Source

pub fn new(ship_interface: ShipInterface) -> Result<Channel>

Create a new channel

Source

pub fn poke( &mut self, app: &str, mark: &str, json: &JsonValue, ) -> Result<Response>

Sends a poke over the channel

Source

pub fn scry(&self, app: &str, path: &str, mark: &str) -> Result<Response>

Sends a scry to the ship

Source

pub fn spider( &self, input_mark: &str, output_mark: &str, thread_name: &str, body: &JsonValue, ) -> Result<Response>

Run a thread via spider

Source

pub fn create_new_subscription( &mut self, app: &str, path: &str, ) -> Result<CreationID>

Create a new Subscription and thus subscribes to events on the ship with the provided app/path.

Source

pub fn parse_event_messages(&mut self)

Parses SSE messages for this channel and moves them into the proper corresponding Subscription’s message_list.

Source

pub fn find_subscription( &mut self, app: &str, path: &str, ) -> Option<&mut Subscription>

Finds the first Subscription in the list which has a matching app and path;

Source

pub fn unsubscribe(&mut self, app: &str, path: &str) -> Option<bool>

Finds the first Subscription in the list which has a matching app and path, removes it from the list, and tells the ship that you are unsubscribing. Returns None if failed to find a subscription with a matching app & path.

Source

pub fn delete_channel(self)

Deletes the channel

Source§

impl Channel

Channel methods which expose advanced functionality, typically by producing another struct which is built on top of Channel.

Source

pub fn chat(&mut self) -> Chat<'_>

Create a Chat struct which exposes an interface for interacting with chats on Urbit

Source

pub fn notebook(&mut self) -> Notebook<'_>

Create a Notebook struct which exposes an interface for interacting with notebooks on Urbit

Source

pub fn graph_store(&mut self) -> GraphStore<'_>

Create a GraphStore struct which exposes an interface for interacting with a ship’s Graph Store.

Source

pub fn collection(&mut self) -> Collection<'_>

Create a Collection struct which exposes an interface for interacting with collections on Urbit.

Trait Implementations§

Source§

impl Debug for Channel

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

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

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

Initializes a with the given initializer. Read more
Source§

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

Dereferences the given pointer. Read more
Source§

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

Mutably dereferences the given pointer. Read more
Source§

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

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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

impl<T> ErasedDestructor for T
where T: 'static,