pub struct Session<'a> {
pub created_at: Datetime,
pub expires_at: Option<Datetime>,
pub node_id: CowStr<'a>,
pub relay_url: Option<UriValue<'a>>,
pub resource: StrongRef<'a>,
pub extra_data: Option<BTreeMap<SmolStr, Data<'a>>>,
}Expand description
Active real-time collaboration session. Published when joining a collaborative editing session, deleted on disconnect.
Fields§
§created_at: Datetime§expires_at: Option<Datetime>Session TTL. Should be refreshed periodically while active.
node_id: CowStr<'a>iroh NodeId in z-base32 encoding for P2P connection.
relay_url: Option<UriValue<'a>>DERP relay URL if using relay-only mode (browser clients).
resource: StrongRef<'a>The resource being collaboratively edited.
extra_data: Option<BTreeMap<SmolStr, Data<'a>>>Implementations§
Trait Implementations§
Source§impl Collection for Session<'_>
impl Collection for Session<'_>
Source§const NSID: &'static str = "sh.weaver.collab.session"
const NSID: &'static str = "sh.weaver.collab.session"
The NSID for the Lexicon that defines the schema of records in this collection.
Source§type Record = SessionRecord
type Record = SessionRecord
A marker type implementing
XrpcResp that allows typed deserialization of records
from this collection. Used by AgentSessionExt::get_record to return properly typed responses.Source§impl<'de: 'a, 'a> Deserialize<'de> for Session<'a>
impl<'de: 'a, 'a> Deserialize<'de> for Session<'a>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<SessionGetRecordOutput<'_>> for Session<'_>
impl From<SessionGetRecordOutput<'_>> for Session<'_>
Source§fn from(output: SessionGetRecordOutput<'_>) -> Self
fn from(output: SessionGetRecordOutput<'_>) -> Self
Converts to this type from the input type.
Source§impl<'a> IntoStatic for Session<'a>
impl<'a> IntoStatic for Session<'a>
Source§impl<'a> LexiconSchema for Session<'a>
impl<'a> LexiconSchema for Session<'a>
Source§fn lexicon_doc() -> LexiconDoc<'static>
fn lexicon_doc() -> LexiconDoc<'static>
Generate the lexicon document for this type Read more
Source§fn validate(&self) -> Result<(), ConstraintError>
fn validate(&self) -> Result<(), ConstraintError>
Validate an instance against lexicon constraints Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether this type should be inlined vs referenced Read more
impl<'a> Eq for Session<'a>
impl<'a> StructuralPartialEq for Session<'a>
Auto Trait Implementations§
impl<'a> Freeze for Session<'a>
impl<'a> RefUnwindSafe for Session<'a>
impl<'a> Send for Session<'a>
impl<'a> Sync for Session<'a>
impl<'a> Unpin for Session<'a>
impl<'a> UnsafeUnpin for Session<'a>
impl<'a> UnwindSafe for Session<'a>
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.