pub struct AppState {
pub store: Arc<HashtreeStore>,
pub auth: Option<AuthCredentials>,
pub webrtc_peers: Option<Arc<WebRTCState>>,
pub ws_relay: Arc<WsRelayState>,
pub max_upload_bytes: usize,
pub public_writes: bool,
pub allowed_pubkeys: HashSet<String>,
pub upstream_blossom: Vec<String>,
pub social_graph: Option<Arc<SocialGraphAccessControl>>,
pub nostr_relay: Option<Arc<NostrRelay>>,
}Fields§
§store: Arc<HashtreeStore>§auth: Option<AuthCredentials>§webrtc_peers: Option<Arc<WebRTCState>>WebRTC peer state for forwarding requests to connected P2P peers
ws_relay: Arc<WsRelayState>WebSocket relay state for /ws clients
max_upload_bytes: usizeMaximum upload size in bytes for Blossom uploads (default: 5 MB)
public_writes: boolAllow anyone with valid Nostr auth to write (default: true) When false, only allowed_pubkeys can write
allowed_pubkeys: HashSet<String>Pubkeys allowed to write (hex format, from config allowed_npubs)
upstream_blossom: Vec<String>Upstream Blossom servers for cascade fetching
Social graph access control (nostrdb-backed when feature enabled)
nostr_relay: Option<Arc<NostrRelay>>Nostr relay state for /ws and WebRTC Nostr messages
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AppState
impl !RefUnwindSafe for AppState
impl Send for AppState
impl Sync for AppState
impl Unpin for AppState
impl !UnwindSafe for AppState
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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