Struct async_graphql::dataloader::DataLoader
source · [−]pub struct DataLoader<T, C = NoCache> { /* private fields */ }dataloader only.Expand description
Data loader.
Reference: https://github.com/facebook/dataloader
Implementations
sourceimpl<T> DataLoader<T, NoCache>
impl<T> DataLoader<T, NoCache>
sourceimpl<T, C: CacheFactory> DataLoader<T, C>
impl<T, C: CacheFactory> DataLoader<T, C>
sourcepub fn with_cache<S, R>(loader: T, spawner: S, cache_factory: C) -> Self where
S: Fn(BoxFuture<'static, ()>) -> R + Send + Sync + 'static,
pub fn with_cache<S, R>(loader: T, spawner: S, cache_factory: C) -> Self where
S: Fn(BoxFuture<'static, ()>) -> R + Send + Sync + 'static,
Use Loader to create a DataLoader with a cache factory.
sourcepub fn delay(self, delay: Duration) -> Self
pub fn delay(self, delay: Duration) -> Self
Specify the delay time for loading data, the default is 1ms.
sourcepub fn max_batch_size(self, max_batch_size: usize) -> Self
pub fn max_batch_size(self, max_batch_size: usize) -> Self
pub fn Specify the max batch size for loading data, the default is
1000.
If the keys waiting to be loaded reach the threshold, they are loaded immediately.
sourcepub fn enable_all_cache(&self, enable: bool)
pub fn enable_all_cache(&self, enable: bool)
Enable/Disable cache of all loaders.
sourcepub fn enable_cache<K>(&self, enable: bool) where
K: Send + Sync + Hash + Eq + Clone + 'static,
T: Loader<K>,
pub fn enable_cache<K>(&self, enable: bool) where
K: Send + Sync + Hash + Eq + Clone + 'static,
T: Loader<K>,
Enable/Disable cache of specified loader.
sourcepub async fn load_one<K>(&self, key: K) -> Result<Option<T::Value>, T::Error> where
K: Send + Sync + Hash + Eq + Clone + 'static,
T: Loader<K>,
pub async fn load_one<K>(&self, key: K) -> Result<Option<T::Value>, T::Error> where
K: Send + Sync + Hash + Eq + Clone + 'static,
T: Loader<K>,
Use this DataLoader load a data.
sourcepub async fn load_many<K, I>(
&self,
keys: I
) -> Result<HashMap<K, T::Value>, T::Error> where
K: Send + Sync + Hash + Eq + Clone + 'static,
I: IntoIterator<Item = K>,
T: Loader<K>,
pub async fn load_many<K, I>(
&self,
keys: I
) -> Result<HashMap<K, T::Value>, T::Error> where
K: Send + Sync + Hash + Eq + Clone + 'static,
I: IntoIterator<Item = K>,
T: Loader<K>,
Use this DataLoader to load some data.
sourcepub async fn feed_many<K, I>(&self, values: I) where
K: Send + Sync + Hash + Eq + Clone + 'static,
I: IntoIterator<Item = (K, T::Value)>,
T: Loader<K>,
pub async fn feed_many<K, I>(&self, values: I) where
K: Send + Sync + Hash + Eq + Clone + 'static,
I: IntoIterator<Item = (K, T::Value)>,
T: Loader<K>,
Feed some data into the cache.
**NOTE: If the cache type is NoCache, this function will not take effect. **
Auto Trait Implementations
impl<T, C = NoCache> !RefUnwindSafe for DataLoader<T, C>
impl<T, C> Send for DataLoader<T, C> where
C: Send,
T: Send + Sync,
impl<T, C> Sync for DataLoader<T, C> where
C: Sync,
T: Send + Sync,
impl<T, C> Unpin for DataLoader<T, C> where
C: Unpin,
impl<T, C = NoCache> !UnwindSafe for DataLoader<T, C>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> FutureExt for T
impl<T> FutureExt for T
sourcefn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
sourcefn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more