pub struct SessionManager { /* private fields */ }Expand description
Session manager for server.
Implementations§
Source§impl SessionManager
impl SessionManager
pub fn new(config: SessionConfig, txn_factory: TransactionFactory) -> Self
pub async fn create_session(&self) -> Result<SessionId>
Sourcepub async fn create_authenticated_session(
&self,
subject: AuthenticatedSubject,
) -> Result<SessionId>
pub async fn create_authenticated_session( &self, subject: AuthenticatedSubject, ) -> Result<SessionId>
Create a session whose authority is permanently bound to a validated remote-read delegation subject.
Sourcepub async fn authenticated_subject(
&self,
id: &SessionId,
) -> Result<AuthenticatedSubject>
pub async fn authenticated_subject( &self, id: &SessionId, ) -> Result<AuthenticatedSubject>
Return the subject bound to a remote-read session.
Ordinary legacy sessions intentionally have no subject and cannot be repurposed as a remote worker session.
pub async fn get_session(&self, id: &SessionId) -> Result<SessionSnapshot>
pub async fn begin_transaction(&self, id: &SessionId) -> Result<TxnHandle>
pub async fn get_transaction(&self, id: &SessionId) -> Result<TxnHandle>
pub async fn execute_in_session( &self, id: &SessionId, sql: &str, ) -> Result<ExecutionResult>
pub async fn commit(&self, id: &SessionId) -> Result<Vec<TableLifecycleEffect>>
pub async fn rollback( &self, id: &SessionId, ) -> Result<Vec<CatalogRollbackEffect>>
pub fn cleanup_expired(&self)
Auto Trait Implementations§
impl !RefUnwindSafe for SessionManager
impl !UnwindSafe for SessionManager
impl Freeze for SessionManager
impl Send for SessionManager
impl Sync for SessionManager
impl Unpin for SessionManager
impl UnsafeUnpin for SessionManager
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request