pub trait Gateway: ThreadSafe {
type State: StateInstance<FE = CacheBlock>;
// Required methods
fn host(&self) -> &Host;
fn link(&self, path: TCPathBuf) -> Link;
fn fetch<'a>(
&'a self,
txn_id: &'a TxnId,
link: ToUrl<'a>,
key: &'a Value,
) -> TCBoxTryFuture<'_, Value>;
fn get<'a>(
&'a self,
txn: &'a Txn<Self::State>,
link: ToUrl<'a>,
key: Value,
) -> TCBoxTryFuture<'a, Self::State>;
fn put<'a>(
&'a self,
txn: &'a Txn<Self::State>,
link: ToUrl<'a>,
key: Value,
value: Self::State,
) -> TCBoxTryFuture<'a, ()>;
fn post<'a>(
&'a self,
txn: &'a Txn<Self::State>,
link: ToUrl<'a>,
params: Self::State,
) -> TCBoxTryFuture<'a, Self::State>;
fn delete<'a>(
&'a self,
txn: &'a Txn<Self::State>,
link: ToUrl<'a>,
key: Value,
) -> TCBoxTryFuture<'a, ()>;
fn finalize(&self, txn_id: TxnId) -> TCBoxFuture<'_, ()>;
}
Required Associated Types§
type State: StateInstance<FE = CacheBlock>
Required Methods§
Sourcefn fetch<'a>(
&'a self,
txn_id: &'a TxnId,
link: ToUrl<'a>,
key: &'a Value,
) -> TCBoxTryFuture<'_, Value>
fn fetch<'a>( &'a self, txn_id: &'a TxnId, link: ToUrl<'a>, key: &'a Value, ) -> TCBoxTryFuture<'_, Value>
Read a simple value.
Sourcefn get<'a>(
&'a self,
txn: &'a Txn<Self::State>,
link: ToUrl<'a>,
key: Value,
) -> TCBoxTryFuture<'a, Self::State>
fn get<'a>( &'a self, txn: &'a Txn<Self::State>, link: ToUrl<'a>, key: Value, ) -> TCBoxTryFuture<'a, Self::State>
Read the [State
] at link
with the given key
.
Sourcefn put<'a>(
&'a self,
txn: &'a Txn<Self::State>,
link: ToUrl<'a>,
key: Value,
value: Self::State,
) -> TCBoxTryFuture<'a, ()>
fn put<'a>( &'a self, txn: &'a Txn<Self::State>, link: ToUrl<'a>, key: Value, value: Self::State, ) -> TCBoxTryFuture<'a, ()>
Update the [State
] with the given key
at link
to value
.
Sourcefn post<'a>(
&'a self,
txn: &'a Txn<Self::State>,
link: ToUrl<'a>,
params: Self::State,
) -> TCBoxTryFuture<'a, Self::State>
fn post<'a>( &'a self, txn: &'a Txn<Self::State>, link: ToUrl<'a>, params: Self::State, ) -> TCBoxTryFuture<'a, Self::State>
Execute the POST op at link
with the params
Sourcefn delete<'a>(
&'a self,
txn: &'a Txn<Self::State>,
link: ToUrl<'a>,
key: Value,
) -> TCBoxTryFuture<'a, ()>
fn delete<'a>( &'a self, txn: &'a Txn<Self::State>, link: ToUrl<'a>, key: Value, ) -> TCBoxTryFuture<'a, ()>
Delete the [State
] at link
with the given key
.