pub struct RelayPool { /* private fields */ }Expand description
Relay pool wrapper for managing Nostr relay connections.
Implementations§
Source§impl RelayPool
impl RelayPool
Sourcepub async fn new<T>(signer: T) -> Result<Self>where
T: IntoNostrSigner,
pub async fn new<T>(signer: T) -> Result<Self>where
T: IntoNostrSigner,
Create a new relay pool with the given signer.
Sourcepub async fn connect(&self, relay_urls: &[String]) -> Result<()>
pub async fn connect(&self, relay_urls: &[String]) -> Result<()>
Connect to the given relay URLs.
Sourcepub async fn disconnect(&self) -> Result<()>
pub async fn disconnect(&self) -> Result<()>
Disconnect from all relays.
Sourcepub async fn publish_event(&self, event: &Event) -> Result<EventId>
pub async fn publish_event(&self, event: &Event) -> Result<EventId>
Publish a pre-built event to relays.
Sourcepub async fn publish(&self, builder: EventBuilder) -> Result<EventId>
pub async fn publish(&self, builder: EventBuilder) -> Result<EventId>
Build, sign, and publish an event from a builder.
Sourcepub async fn sign(&self, builder: EventBuilder) -> Result<Event>
pub async fn sign(&self, builder: EventBuilder) -> Result<Event>
Sign an event builder without publishing.
Sourcepub fn notifications(&self) -> Receiver<RelayPoolNotification>
pub fn notifications(&self) -> Receiver<RelayPoolNotification>
Get notifications receiver for event streaming.
Sourcepub async fn public_key(&self) -> Result<PublicKey>
pub async fn public_key(&self) -> Result<PublicKey>
Get the public key of the signer.
Trait Implementations§
Source§impl RelayPoolTrait for RelayPool
impl RelayPoolTrait for RelayPool
Source§fn connect<'life0, 'life1, 'async_trait>(
&'life0 self,
relay_urls: &'life1 [String],
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn connect<'life0, 'life1, 'async_trait>(
&'life0 self,
relay_urls: &'life1 [String],
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Connect to the given relay URLs.
Source§fn disconnect<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn disconnect<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Disconnect from all relays.
Source§fn publish_event<'life0, 'life1, 'async_trait>(
&'life0 self,
event: &'life1 Event,
) -> Pin<Box<dyn Future<Output = Result<EventId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn publish_event<'life0, 'life1, 'async_trait>(
&'life0 self,
event: &'life1 Event,
) -> Pin<Box<dyn Future<Output = Result<EventId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Publish a pre-built event to relays.
Source§fn publish<'life0, 'async_trait>(
&'life0 self,
builder: EventBuilder,
) -> Pin<Box<dyn Future<Output = Result<EventId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn publish<'life0, 'async_trait>(
&'life0 self,
builder: EventBuilder,
) -> Pin<Box<dyn Future<Output = Result<EventId>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Build, sign, and publish an event from a builder.
Source§fn sign<'life0, 'async_trait>(
&'life0 self,
builder: EventBuilder,
) -> Pin<Box<dyn Future<Output = Result<Event>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn sign<'life0, 'async_trait>(
&'life0 self,
builder: EventBuilder,
) -> Pin<Box<dyn Future<Output = Result<Event>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sign an event builder without publishing.
Source§fn signer<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Arc<dyn NostrSigner>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn signer<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Arc<dyn NostrSigner>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get the signer associated with this relay pool.
Source§fn notifications(&self) -> Receiver<RelayPoolNotification>
fn notifications(&self) -> Receiver<RelayPoolNotification>
Get notifications receiver for event streaming.
Auto Trait Implementations§
impl Freeze for RelayPool
impl !RefUnwindSafe for RelayPool
impl Send for RelayPool
impl Sync for RelayPool
impl Unpin for RelayPool
impl UnsafeUnpin for RelayPool
impl !UnwindSafe for RelayPool
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