Skip to main content

CallbackServer

Struct CallbackServer 

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

The server. Clones share state.

Implementations§

Source§

impl CallbackServer

Source

pub fn new(config: CallbackConfig) -> Self

Source

pub fn host_context( &self, source_id: &str, hosted: HostedContext, ) -> Result<(), String>

Host a context source under source_id, replacing any hosted there. A replacement changes the describe digest, which clients that described before then see as describe_mismatch.

Source

pub fn host_acquisition( &self, source_id: &str, source: Arc<dyn AcquisitionSource>, ) -> Result<(), String>

Serve acquisitions for the context source hosted under source_id, replacing any served there: describe then carries the source’s descriptor with its SourceId (3.10.1), so the describe digest changes. The context source must be hosted first, and no other hosted source may carry the same SourceId.

Source

pub fn host_sink(&self, hosted: HostedSink) -> Result<(), String>

Host the evidence sink, replacing any hosted before.

Source

pub fn dispatched(&self) -> u64

Hosted calls started so far: fetches, acquisitions and deliveries.

Source

pub fn describe_digest(&self) -> Result<ContentDigest, String>

The digest of the describe answer clients receive now.

Source

pub fn publish_invalidation( &self, source_id: &str, kind: InvalidationKind, fields: Vec<String>, scope: InvalidationScope, ) -> Result<u64, String>

Record an invalidation for pollers (3.10.6) and return its sequence number, strictly increasing across every source this server hosts.

Source

pub fn serve( &self, listener: TcpListener, tls: Option<Arc<ServerConfig>>, ) -> Result<CallbackHandle>

Serve on listener. Plain HTTP is refused for a non-loopback address unless tls is given (3.10).

Source

pub fn serve_unix(&self, listener: UnixListener) -> CallbackHandle

Serve a Unix socket listener; its file permissions authenticate.

Source

pub async fn serve_loopback(&self) -> Result<CallbackHandle>

Bind 127.0.0.1:0 and serve plain HTTP: the loopback setting.

Trait Implementations§

Source§

impl Clone for CallbackServer

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. 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> 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> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

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 = !

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

fn try_from(value: U) -> Result<T, !>

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.