pub struct MessagingChannel { /* private fields */ }Expand description
FHIR Messaging channel implementation.
Implementations§
Source§impl MessagingChannel
impl MessagingChannel
Sourcepub fn new(
source_endpoint: String,
auth_provider: Arc<dyn OutboundAuthProvider>,
) -> Self
pub fn new( source_endpoint: String, auth_provider: Arc<dyn OutboundAuthProvider>, ) -> Self
Create a messaging channel with the given source endpoint (HFS base URL) and outbound auth provider.
Sourcepub fn with_client(self, client: Client) -> Self
pub fn with_client(self, client: Client) -> Self
Replace the HTTP client (used by tests).
Sourcepub fn with_private_endpoints_allowed(self, allowed: bool) -> Self
pub fn with_private_endpoints_allowed(self, allowed: bool) -> Self
Enable or disable dispatch to private/loopback IPs. Tests typically
enable this to dispatch to 127.0.0.1 mock servers.
Trait Implementations§
Source§impl ChannelDispatcher for MessagingChannel
impl ChannelDispatcher for MessagingChannel
Source§fn dispatch<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
subscription: &'life1 ActiveSubscription,
notification_bundle: &'life2 Value,
) -> Pin<Box<dyn Future<Output = Result<DispatchResult, SubscriptionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn dispatch<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
subscription: &'life1 ActiveSubscription,
notification_bundle: &'life2 Value,
) -> Pin<Box<dyn Future<Output = Result<DispatchResult, SubscriptionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Deliver a notification bundle to the subscriber’s endpoint.
Source§fn handshake<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
subscription: &'life1 ActiveSubscription,
handshake_bundle: &'life2 Value,
) -> Pin<Box<dyn Future<Output = Result<DispatchResult, SubscriptionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handshake<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
subscription: &'life1 ActiveSubscription,
handshake_bundle: &'life2 Value,
) -> Pin<Box<dyn Future<Output = Result<DispatchResult, SubscriptionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Perform the handshake sequence for a newly activated subscription.
Auto Trait Implementations§
impl !RefUnwindSafe for MessagingChannel
impl !UnwindSafe for MessagingChannel
impl Freeze for MessagingChannel
impl Send for MessagingChannel
impl Sync for MessagingChannel
impl Unpin for MessagingChannel
impl UnsafeUnpin for MessagingChannel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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