List of all items
Structs
- AddNotification
- Captcha
- CreateCaptcha
- CreatePerformanceAnalytics
- EasyCaptcha
- Level
- NameHash
- Notification
- PerformanceAnalytics
- Register
- Secret
- StatsUnixTimestamp
- TrafficPattern
- UpdateEmail
diff --git a/db_core/all.html b/db_core/all.html index 02e62355..d996702e 100644 --- a/db_core/all.html +++ b/db_core/all.html @@ -1 +1,2 @@ -
#[async_trait]#[async_trait]useful imports for supporting a new database
-pub use super::prelude::*;useful imports for supporting a new database
+pub use super::prelude::*;pub enum Login<'a> {
- Username(&'a str),
- Email(&'a str),
+Login in db_core - Rust
+ pub enum Login<'a> {
+ Username(&'a str),
+ Email(&'a str),
}
Expand description
types of credentials used as identifiers during login
-Variants§
Trait Implementations§
source§impl<'de: 'a, 'a> Deserialize<'de> for Login<'a>
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
- __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl<'a> PartialEq for Login<'a>
source§impl<'a> StructuralPartialEq for Login<'a>
Auto Trait Implementations§
§impl<'a> RefUnwindSafe for Login<'a>
§impl<'a> Send for Login<'a>
§impl<'a> Sync for Login<'a>
§impl<'a> Unpin for Login<'a>
§impl<'a> UnwindSafe for Login<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
- T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> From<T> for T
Variants§
Trait Implementations§
source§impl<'de: 'a, 'a> Deserialize<'de> for Login<'a>
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
+ __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl<'a> PartialEq for Login<'a>
source§impl<'a> StructuralPartialEq for Login<'a>
Auto Trait Implementations§
§impl<'a> RefUnwindSafe for Login<'a>
§impl<'a> Send for Login<'a>
§impl<'a> Sync for Login<'a>
§impl<'a> Unpin for Login<'a>
§impl<'a> UnwindSafe for Login<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
+ T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
- S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
+From<T> for U chooses to do.
+source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
+ S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> DeserializeOwned for Twhere
- T: for<'de> Deserialize<'de>,
\ No newline at end of file
+WithDispatch wrapper. Read moresource§impl<T> DeserializeOwned for Twhere
+ T: for<'de> Deserialize<'de>,
pub enum DBError {
+DBError in db_core::errors - Rust
+ pub enum DBError {
DBError(BoxDynError),
UsernameTaken,
EmailTaken,
@@ -9,7 +10,7 @@
TrafficPatternNotFound,
NotificationNotFound,
}
Expand description
Error data structure grouping various error subtypes
-Variants§
§DBError(BoxDynError)
errors that are specific to a database implementation
+Variants§
§DBError(BoxDynError)
errors that are specific to a database implementation
§UsernameTaken
Username is taken
§EmailTaken
Email is taken
§SecretTaken
Secret is taken
@@ -18,21 +19,21 @@
§CaptchaNotFound
Captcha not found
§TrafficPatternNotFound
Traffic pattern not found
§NotificationNotFound
Notification not found
-Trait Implementations§
source§impl Error for DBError
source§fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more1.0.0 · source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()Auto Trait Implementations§
§impl !RefUnwindSafe for DBError
§impl Send for DBError
§impl Sync for DBError
§impl Unpin for DBError
§impl !UnwindSafe for DBError
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
- T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> From<T> for T
Trait Implementations§
source§impl Error for DBError
source§fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more1.0.0 · source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()Auto Trait Implementations§
§impl !RefUnwindSafe for DBError
§impl Send for DBError
§impl Sync for DBError
§impl Unpin for DBError
§impl !UnwindSafe for DBError
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
+ T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
- S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
+From<T> for U chooses to do.
+source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
+ S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
\ No newline at end of file
diff --git a/db_core/errors/index.html b/db_core/errors/index.html
index 2cbbc457..b3e75807 100644
--- a/db_core/errors/index.html
+++ b/db_core/errors/index.html
@@ -1,2 +1,3 @@
-db_core::errors - Rust Expand description
represents all the ways a trait can fail using this crate
-Enums
- Error data structure grouping various error subtypes
Type Aliases
- Convenience type alias for grouping driver-specific errors
- Generic result data structure
\ No newline at end of file
+db_core::errors - Rust
+ Expand description
represents all the ways a trait can fail using this crate
+Enums
- Error data structure grouping various error subtypes
Type Aliases
- Convenience type alias for grouping driver-specific errors
- Generic result data structure
\ No newline at end of file
diff --git a/db_core/errors/type.BoxDynError.html b/db_core/errors/type.BoxDynError.html
index 57b3bfd6..5a79debb 100644
--- a/db_core/errors/type.BoxDynError.html
+++ b/db_core/errors/type.BoxDynError.html
@@ -1,2 +1,3 @@
-BoxDynError in db_core::errors - Rust
\ No newline at end of file
+BoxDynError in db_core::errors - Rust
+
\ No newline at end of file
diff --git a/db_core/errors/type.DBResult.html b/db_core/errors/type.DBResult.html
index d4e3fd37..46ff7ee5 100644
--- a/db_core/errors/type.DBResult.html
+++ b/db_core/errors/type.DBResult.html
@@ -1,7 +1,8 @@
-DBResult in db_core::errors - Rust pub type DBResult<V> = Result<V, DBError>;
Expand description
Generic result data structure
-Aliased Type§
enum DBResult<V> {
+DBResult in db_core::errors - Rust
+ pub type DBResult<V> = Result<V, DBError>;
Expand description
Generic result data structure
+Aliased Type§
enum DBResult<V> {
Ok(V),
Err(DBError),
-}
Variants§
§1.0.0Ok(V)
Contains the success value
+}Variants§
\ No newline at end of file
diff --git a/db_core/index.html b/db_core/index.html
index 72ddce24..e3faff9d 100644
--- a/db_core/index.html
+++ b/db_core/index.html
@@ -1,5 +1,6 @@
-db_core - Rust Expand description
mCaptcha database operations
+db_core - Rust
+ Expand description
mCaptcha database operations
Traits and datastructures used in mCaptcha to interact with database.
To use an unsupported database with mCaptcha, traits present within this crate should be
implemented.
@@ -10,5 +11,5 @@ implemented.
ops: meta operations like connection pool creation, migrations and getting
connection from pool
-Re-exports
pub use ops::GetConnection;
Modules
- useful imports for supporting a new database
- represents all the ways a trait can fail using this crate
- meta operations like migration and connecting to a database
- useful imports for users working with a supported database
- Test utilities
Structs
- Data required to add notification
- Data representing a captcha
- data required to create new captcha
- Log Proof-of-Work CAPTCHA performance analytics
- Represents Easy captcha configuration
- Level struct that describes threshold-difficulty factor mapping
- type encapsulating username and hashed password of a user
- Represents notification
- Proof-of-Work CAPTCHA performance analytics
- Data required to register a new user
- datastructure representing a user’s secret
- Captcha statistics with time recorded in UNIX epoch formats
- User’s traffic pattern; used in generating a captcha configuration
- data required to update them email of a user
Enums
- types of credentials used as identifiers during login
Traits
- Trait to clone MCDatabase
- mCaptcha’s database requirements. To implement support for $Database, kindly implement this
+
Re-exports
pub use ops::GetConnection;
Modules
- useful imports for supporting a new database
- represents all the ways a trait can fail using this crate
- meta operations like migration and connecting to a database
- useful imports for users working with a supported database
- Test utilities
Structs
- Data required to add notification
- Data representing a captcha
- data required to create new captcha
- Log Proof-of-Work CAPTCHA performance analytics
- Represents Easy captcha configuration
- Level struct that describes threshold-difficulty factor mapping
- type encapsulating username and hashed password of a user
- Represents notification
- Proof-of-Work CAPTCHA performance analytics
- Data required to register a new user
- datastructure representing a user’s secret
- Captcha statistics with time recorded in UNIX epoch formats
- User’s traffic pattern; used in generating a captcha configuration
- data required to update them email of a user
Enums
- types of credentials used as identifiers during login
Traits
- Trait to clone MCDatabase
- mCaptcha’s database requirements. To implement support for $Database, kindly implement this
trait.
\ No newline at end of file
diff --git a/db_core/ops/index.html b/db_core/ops/index.html
index b4b1361c..b89a1a37 100644
--- a/db_core/ops/index.html
+++ b/db_core/ops/index.html
@@ -1,2 +1,3 @@
-db_core::ops - Rust
\ No newline at end of file
+db_core::ops - Rust
+
\ No newline at end of file
diff --git a/db_core/ops/trait.Connect.html b/db_core/ops/trait.Connect.html
index 1f0ca5da..107023c7 100644
--- a/db_core/ops/trait.Connect.html
+++ b/db_core/ops/trait.Connect.html
@@ -1,16 +1,17 @@
-Connect in db_core::ops - Rust pub trait Connect {
+Connect in db_core::ops - Rust
+ pub trait Connect {
type Pool: MCDatabase;
// Required method
fn connect<'async_trait>(
self
- ) -> Pin<Box<dyn Future<Output = DBResult<Self::Pool>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = DBResult<Self::Pool>> + Send + 'async_trait>>
where Self: 'async_trait;
}
Expand description
Create database connection
-Required Associated Types§
sourcetype Pool: MCDatabase
database specific pool-type
-Required Methods§
Required Associated Types§
sourcetype Pool: MCDatabase
database specific pool-type
+Required Methods§
sourcefn connect<'async_trait>(
self
-) -> Pin<Box<dyn Future<Output = DBResult<Self::Pool>> + Send + 'async_trait>>where
- Self: 'async_trait,
database specific error-type
+) -> Pin<Box<dyn Future<Output = DBResult<Self::Pool>> + Send + 'async_trait>>
where
+ Self: 'async_trait,database specific error-type
create connection pool
-Implementors§
\ No newline at end of file
+
Implementors§
\ No newline at end of file
diff --git a/db_core/ops/trait.DBOps.html b/db_core/ops/trait.DBOps.html
index eafb45c5..6dfbcdd3 100644
--- a/db_core/ops/trait.DBOps.html
+++ b/db_core/ops/trait.DBOps.html
@@ -1,2 +1,3 @@
-DBOps in db_core::ops - Rust
\ No newline at end of file
+DBOps in db_core::ops - Rust
+
\ No newline at end of file
diff --git a/db_core/ops/trait.GetConnection.html b/db_core/ops/trait.GetConnection.html
index b5869435..8c6cda7f 100644
--- a/db_core/ops/trait.GetConnection.html
+++ b/db_core/ops/trait.GetConnection.html
@@ -1,18 +1,19 @@
-GetConnection in db_core::ops - Rust Trait db_core::ops::GetConnection
source · pub trait GetConnection {
+GetConnection in db_core::ops - Rust
+ Trait db_core::ops::GetConnection
source · pub trait GetConnection {
type Conn;
// Required method
fn get_conn<'life0, 'async_trait>(
&'life0 self
- ) -> Pin<Box<dyn Future<Output = DBResult<Self::Conn>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = DBResult<Self::Conn>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}
Expand description
Get database connection
-Required Associated Types§
Required Methods§
Required Associated Types§
Required Methods§
sourcefn get_conn<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = DBResult<Self::Conn>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = DBResult<Self::Conn>> + Send + 'async_trait>>where
Self: 'async_trait,
- 'life0: 'async_trait,database specific error-type
+ 'life0: 'async_trait,
database specific error-type
get connection from connection pool
-Implementors§
\ No newline at end of file
+
Implementors§
\ No newline at end of file
diff --git a/db_core/ops/trait.Migrate.html b/db_core/ops/trait.Migrate.html
index 23b81321..13547ef5 100644
--- a/db_core/ops/trait.Migrate.html
+++ b/db_core/ops/trait.Migrate.html
@@ -1,15 +1,16 @@
-Migrate in db_core::ops - Rust pub trait Migrate: MCDatabase {
+Migrate in db_core::ops - Rust
+ pub trait Migrate: MCDatabase {
// Required method
fn migrate<'life0, 'async_trait>(
&'life0 self
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}
Expand description
database migrations
-Required Methods§
Required Methods§
sourcefn migrate<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
- 'life0: 'async_trait,database specific error-type
+ 'life0: 'async_trait,
database specific error-type
run migrations
-Implementors§
\ No newline at end of file
+
Implementors§
\ No newline at end of file
diff --git a/db_core/prelude/index.html b/db_core/prelude/index.html
index ace13436..fc8fdff0 100644
--- a/db_core/prelude/index.html
+++ b/db_core/prelude/index.html
@@ -1,2 +1,3 @@
-db_core::prelude - Rust
\ No newline at end of file
+db_core::prelude - Rust
+
\ No newline at end of file
diff --git a/db_core/struct.AddNotification.html b/db_core/struct.AddNotification.html
index 3f7b5fa2..90b4a9bd 100644
--- a/db_core/struct.AddNotification.html
+++ b/db_core/struct.AddNotification.html
@@ -1,33 +1,34 @@
-AddNotification in db_core - Rust Struct db_core::AddNotification
source · pub struct AddNotification<'a> {
- pub to: &'a str,
- pub from: &'a str,
- pub heading: &'a str,
- pub message: &'a str,
+AddNotification in db_core - Rust
+ Struct db_core::AddNotification
source · pub struct AddNotification<'a> {
+ pub to: &'a str,
+ pub from: &'a str,
+ pub heading: &'a str,
+ pub message: &'a str,
}
Expand description
Data required to add notification
-Fields§
§to: &'a strwho is the notification addressed to?
-§from: &'a strnotification sender
-§heading: &'a strheading of the notification
-§message: &'a strmessage of the notification
-Trait Implementations§
source§impl<'a> Clone for AddNotification<'a>
source§fn clone(&self) -> AddNotification<'a>
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl<'a> Debug for AddNotification<'a>
source§impl<'a> Default for AddNotification<'a>
source§fn default() -> AddNotification<'a>
Returns the “default value” for a type. Read moresource§impl<'de: 'a, 'a> Deserialize<'de> for AddNotification<'a>
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
- __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl<'a> PartialEq for AddNotification<'a>
source§fn eq(&self, other: &AddNotification<'a>) -> bool
This method tests for self and other values to be equal, and is used
-by ==.source§impl<'a> Serialize for AddNotification<'a>
source§impl<'a> StructuralPartialEq for AddNotification<'a>
Auto Trait Implementations§
§impl<'a> RefUnwindSafe for AddNotification<'a>
§impl<'a> Send for AddNotification<'a>
§impl<'a> Sync for AddNotification<'a>
§impl<'a> Unpin for AddNotification<'a>
§impl<'a> UnwindSafe for AddNotification<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
- T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> From<T> for T
Fields§
§to: &'a strwho is the notification addressed to?
+§from: &'a strnotification sender
+§heading: &'a strheading of the notification
+§message: &'a strmessage of the notification
+Trait Implementations§
source§impl<'a> Clone for AddNotification<'a>
source§fn clone(&self) -> AddNotification<'a>
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl<'a> Debug for AddNotification<'a>
source§impl<'a> Default for AddNotification<'a>
source§fn default() -> AddNotification<'a>
Returns the “default value” for a type. Read moresource§impl<'de: 'a, 'a> Deserialize<'de> for AddNotification<'a>
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
+ __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl<'a> PartialEq for AddNotification<'a>
source§fn eq(&self, other: &AddNotification<'a>) -> bool
This method tests for self and other values to be equal, and is used
+by ==.source§impl<'a> Serialize for AddNotification<'a>
source§impl<'a> StructuralPartialEq for AddNotification<'a>
Auto Trait Implementations§
§impl<'a> RefUnwindSafe for AddNotification<'a>
§impl<'a> Send for AddNotification<'a>
§impl<'a> Sync for AddNotification<'a>
§impl<'a> Unpin for AddNotification<'a>
§impl<'a> UnwindSafe for AddNotification<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
+ T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
- S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
+From<T> for U chooses to do.
+source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
+ S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> DeserializeOwned for Twhere
- T: for<'de> Deserialize<'de>,
\ No newline at end of file
+WithDispatch wrapper. Read moresource§impl<T> DeserializeOwned for Twhere
+ T: for<'de> Deserialize<'de>,
\ No newline at end of file
diff --git a/db_core/struct.Captcha.html b/db_core/struct.Captcha.html
index f92d549c..2d70d3c7 100644
--- a/db_core/struct.Captcha.html
+++ b/db_core/struct.Captcha.html
@@ -1,33 +1,34 @@
-Captcha in db_core - Rust pub struct Captcha {
- pub config_id: i32,
- pub duration: i32,
- pub description: String,
- pub key: String,
+Captcha in db_core - Rust
+ pub struct Captcha {
+ pub config_id: i32,
+ pub duration: i32,
+ pub description: String,
+ pub key: String,
}
Expand description
Data representing a captcha
-Fields§
§config_id: i32Database assigned ID
-§duration: i32cool down duration
-§description: Stringdescription of the captcha
-§key: Stringsecret key of the captcha
-Trait Implementations§
source§impl<'de> Deserialize<'de> for Captcha
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
- __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for Captcha
source§impl StructuralPartialEq for Captcha
Auto Trait Implementations§
§impl RefUnwindSafe for Captcha
§impl Send for Captcha
§impl Sync for Captcha
§impl Unpin for Captcha
§impl UnwindSafe for Captcha
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
- T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> From<T> for T
Fields§
§config_id: i32Database assigned ID
+§duration: i32cool down duration
+§description: Stringdescription of the captcha
+§key: Stringsecret key of the captcha
+Trait Implementations§
source§impl<'de> Deserialize<'de> for Captcha
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
+ __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for Captcha
source§impl StructuralPartialEq for Captcha
Auto Trait Implementations§
§impl RefUnwindSafe for Captcha
§impl Send for Captcha
§impl Sync for Captcha
§impl Unpin for Captcha
§impl UnwindSafe for Captcha
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
+ T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
- S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
+From<T> for U chooses to do.
+source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
+ S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> DeserializeOwned for Twhere
- T: for<'de> Deserialize<'de>,
\ No newline at end of file
+WithDispatch wrapper. Read moresource§impl<T> DeserializeOwned for Twhere
+ T: for<'de> Deserialize<'de>,
\ No newline at end of file
diff --git a/db_core/struct.CreateCaptcha.html b/db_core/struct.CreateCaptcha.html
index 2c3a03c5..af6610e1 100644
--- a/db_core/struct.CreateCaptcha.html
+++ b/db_core/struct.CreateCaptcha.html
@@ -1,31 +1,32 @@
-CreateCaptcha in db_core - Rust Struct db_core::CreateCaptcha
source · pub struct CreateCaptcha<'a> {
- pub duration: i32,
- pub description: &'a str,
- pub key: &'a str,
+CreateCaptcha in db_core - Rust
+ Struct db_core::CreateCaptcha
source · pub struct CreateCaptcha<'a> {
+ pub duration: i32,
+ pub description: &'a str,
+ pub key: &'a str,
}
Expand description
data required to create new captcha
-Fields§
§duration: i32cool down duration
-§description: &'a strdescription of the captcha
-§key: &'a strsecret key of the captcha
-Trait Implementations§
source§impl<'a> Clone for CreateCaptcha<'a>
source§fn clone(&self) -> CreateCaptcha<'a>
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl<'a> Debug for CreateCaptcha<'a>
source§impl<'a> Default for CreateCaptcha<'a>
source§fn default() -> CreateCaptcha<'a>
Returns the “default value” for a type. Read moresource§impl<'de: 'a, 'a> Deserialize<'de> for CreateCaptcha<'a>
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
- __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl<'a> PartialEq for CreateCaptcha<'a>
source§fn eq(&self, other: &CreateCaptcha<'a>) -> bool
This method tests for self and other values to be equal, and is used
-by ==.source§impl<'a> Serialize for CreateCaptcha<'a>
source§impl<'a> StructuralPartialEq for CreateCaptcha<'a>
Auto Trait Implementations§
§impl<'a> RefUnwindSafe for CreateCaptcha<'a>
§impl<'a> Send for CreateCaptcha<'a>
§impl<'a> Sync for CreateCaptcha<'a>
§impl<'a> Unpin for CreateCaptcha<'a>
§impl<'a> UnwindSafe for CreateCaptcha<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
- T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> From<T> for T
Fields§
§duration: i32cool down duration
+§description: &'a strdescription of the captcha
+§key: &'a strsecret key of the captcha
+Trait Implementations§
source§impl<'a> Clone for CreateCaptcha<'a>
source§fn clone(&self) -> CreateCaptcha<'a>
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl<'a> Debug for CreateCaptcha<'a>
source§impl<'a> Default for CreateCaptcha<'a>
source§fn default() -> CreateCaptcha<'a>
Returns the “default value” for a type. Read moresource§impl<'de: 'a, 'a> Deserialize<'de> for CreateCaptcha<'a>
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
+ __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl<'a> PartialEq for CreateCaptcha<'a>
source§fn eq(&self, other: &CreateCaptcha<'a>) -> bool
This method tests for self and other values to be equal, and is used
+by ==.source§impl<'a> Serialize for CreateCaptcha<'a>
source§impl<'a> StructuralPartialEq for CreateCaptcha<'a>
Auto Trait Implementations§
§impl<'a> RefUnwindSafe for CreateCaptcha<'a>
§impl<'a> Send for CreateCaptcha<'a>
§impl<'a> Sync for CreateCaptcha<'a>
§impl<'a> Unpin for CreateCaptcha<'a>
§impl<'a> UnwindSafe for CreateCaptcha<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
+ T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
- S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
+From<T> for U chooses to do.
+source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
+ S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> DeserializeOwned for Twhere
- T: for<'de> Deserialize<'de>,
\ No newline at end of file
+WithDispatch wrapper. Read moresource§impl<T> DeserializeOwned for Twhere
+ T: for<'de> Deserialize<'de>,
\ No newline at end of file
diff --git a/db_core/struct.CreatePerformanceAnalytics.html b/db_core/struct.CreatePerformanceAnalytics.html
index 4ea18f6a..732e5c80 100644
--- a/db_core/struct.CreatePerformanceAnalytics.html
+++ b/db_core/struct.CreatePerformanceAnalytics.html
@@ -1,31 +1,32 @@
-CreatePerformanceAnalytics in db_core - Rust Struct db_core::CreatePerformanceAnalytics
source · pub struct CreatePerformanceAnalytics {
- pub time: u32,
- pub difficulty_factor: u32,
- pub worker_type: String,
+CreatePerformanceAnalytics in db_core - Rust
+ Struct db_core::CreatePerformanceAnalytics
source · pub struct CreatePerformanceAnalytics {
+ pub time: u32,
+ pub difficulty_factor: u32,
+ pub worker_type: String,
}
Expand description
Log Proof-of-Work CAPTCHA performance analytics
-Fields§
§time: u32time taken to generate proof
-§difficulty_factor: u32difficulty factor for which the proof was generated
-§worker_type: Stringworker/client type: wasm, javascript, python, etc.
-Trait Implementations§
source§impl Clone for CreatePerformanceAnalytics
source§fn clone(&self) -> CreatePerformanceAnalytics
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl Debug for CreatePerformanceAnalytics
source§impl Default for CreatePerformanceAnalytics
source§fn default() -> CreatePerformanceAnalytics
Returns the “default value” for a type. Read moresource§impl<'de> Deserialize<'de> for CreatePerformanceAnalytics
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
- __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for CreatePerformanceAnalytics
source§fn eq(&self, other: &CreatePerformanceAnalytics) -> bool
This method tests for self and other values to be equal, and is used
-by ==.source§impl StructuralPartialEq for CreatePerformanceAnalytics
Auto Trait Implementations§
§impl RefUnwindSafe for CreatePerformanceAnalytics
§impl Send for CreatePerformanceAnalytics
§impl Sync for CreatePerformanceAnalytics
§impl Unpin for CreatePerformanceAnalytics
§impl UnwindSafe for CreatePerformanceAnalytics
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
- T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> From<T> for T
Fields§
§time: u32time taken to generate proof
+§difficulty_factor: u32difficulty factor for which the proof was generated
+§worker_type: Stringworker/client type: wasm, javascript, python, etc.
+Trait Implementations§
source§impl Clone for CreatePerformanceAnalytics
source§fn clone(&self) -> CreatePerformanceAnalytics
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl Debug for CreatePerformanceAnalytics
source§impl Default for CreatePerformanceAnalytics
source§fn default() -> CreatePerformanceAnalytics
Returns the “default value” for a type. Read moresource§impl<'de> Deserialize<'de> for CreatePerformanceAnalytics
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
+ __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for CreatePerformanceAnalytics
source§fn eq(&self, other: &CreatePerformanceAnalytics) -> bool
This method tests for self and other values to be equal, and is used
+by ==.source§impl StructuralPartialEq for CreatePerformanceAnalytics
Auto Trait Implementations§
§impl RefUnwindSafe for CreatePerformanceAnalytics
§impl Send for CreatePerformanceAnalytics
§impl Sync for CreatePerformanceAnalytics
§impl Unpin for CreatePerformanceAnalytics
§impl UnwindSafe for CreatePerformanceAnalytics
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
+ T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
- S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
+From<T> for U chooses to do.
+source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
+ S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> DeserializeOwned for Twhere
- T: for<'de> Deserialize<'de>,
\ No newline at end of file
+WithDispatch wrapper. Read moresource§impl<T> DeserializeOwned for Twhere
+ T: for<'de> Deserialize<'de>,
\ No newline at end of file
diff --git a/db_core/struct.EasyCaptcha.html b/db_core/struct.EasyCaptcha.html
index 42d393da..76b80eb6 100644
--- a/db_core/struct.EasyCaptcha.html
+++ b/db_core/struct.EasyCaptcha.html
@@ -1,33 +1,34 @@
-EasyCaptcha in db_core - Rust Struct db_core::EasyCaptcha
source · pub struct EasyCaptcha {
+EasyCaptcha in db_core - Rust
+ Struct db_core::EasyCaptcha
source · pub struct EasyCaptcha {
pub traffic_pattern: TrafficPattern,
- pub key: String,
- pub description: String,
- pub username: String,
+ pub key: String,
+ pub description: String,
+ pub username: String,
}
Expand description
Represents Easy captcha configuration
-Fields§
§traffic_pattern: TrafficPatterntraffic pattern of easy captcha
-§key: Stringcaptcha key/sitekey
-§description: Stringcaptcha description
-§username: StringOwner of the captcha configuration
-Trait Implementations§
source§impl Clone for EasyCaptcha
source§fn clone(&self) -> EasyCaptcha
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl Debug for EasyCaptcha
source§impl Default for EasyCaptcha
source§fn default() -> EasyCaptcha
Returns the “default value” for a type. Read moresource§impl<'de> Deserialize<'de> for EasyCaptcha
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
- __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for EasyCaptcha
source§fn eq(&self, other: &EasyCaptcha) -> bool
This method tests for self and other values to be equal, and is used
-by ==.source§impl Serialize for EasyCaptcha
source§impl StructuralPartialEq for EasyCaptcha
Auto Trait Implementations§
§impl RefUnwindSafe for EasyCaptcha
§impl Send for EasyCaptcha
§impl Sync for EasyCaptcha
§impl Unpin for EasyCaptcha
§impl UnwindSafe for EasyCaptcha
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
- T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> From<T> for T
Fields§
§traffic_pattern: TrafficPatterntraffic pattern of easy captcha
+§key: Stringcaptcha key/sitekey
+§description: Stringcaptcha description
+§username: StringOwner of the captcha configuration
+Trait Implementations§
source§impl Clone for EasyCaptcha
source§fn clone(&self) -> EasyCaptcha
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl Debug for EasyCaptcha
source§impl Default for EasyCaptcha
source§fn default() -> EasyCaptcha
Returns the “default value” for a type. Read moresource§impl<'de> Deserialize<'de> for EasyCaptcha
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
+ __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for EasyCaptcha
source§fn eq(&self, other: &EasyCaptcha) -> bool
This method tests for self and other values to be equal, and is used
+by ==.source§impl Serialize for EasyCaptcha
source§impl StructuralPartialEq for EasyCaptcha
Auto Trait Implementations§
§impl RefUnwindSafe for EasyCaptcha
§impl Send for EasyCaptcha
§impl Sync for EasyCaptcha
§impl Unpin for EasyCaptcha
§impl UnwindSafe for EasyCaptcha
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
+ T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
- S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
+From<T> for U chooses to do.
+source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
+ S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> DeserializeOwned for Twhere
- T: for<'de> Deserialize<'de>,
\ No newline at end of file
+WithDispatch wrapper. Read moresource§impl<T> DeserializeOwned for Twhere
+ T: for<'de> Deserialize<'de>,
pub struct Level {
- pub visitor_threshold: u32,
- pub difficulty_factor: u32,
+Level in db_core - Rust
+ pub struct Level {
+ pub visitor_threshold: u32,
+ pub difficulty_factor: u32,
}
Expand description
Level struct that describes threshold-difficulty factor mapping
-Fields§
§visitor_threshold: u32§difficulty_factor: u32Trait Implementations§
§impl<'de> Deserialize<'de> for Level
§fn deserialize<__D>(
+
Fields§
§visitor_threshold: u32§difficulty_factor: u32Trait Implementations§
§impl<'de> Deserialize<'de> for Level
§fn deserialize<__D>(
__deserializer: __D
-) -> Result<Level, <__D as Deserializer<'de>>::Error>where
- __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more§impl PartialEq for Level
§fn eq(&self, other: &Level) -> bool
This method tests for self and other values to be equal, and is used
-by ==.1.0.0 · source§fn ne(&self, other: &Rhs) -> bool
This method tests for !=. The default implementation is almost always
+) -> Result<Level, <__D as Deserializer<'de>>::Error>where
+ __D: Deserializer<'de>,Deserialize this value from the given Serde deserializer. Read more§impl Serialize for Level
§fn serialize<__S>(
&self,
__serializer: __S
-) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
- __S: Serializer,
Serialize this value into the given Serde serializer. Read more§impl Copy for Level
§impl StructuralPartialEq for Level
Auto Trait Implementations§
§impl RefUnwindSafe for Level
§impl Send for Level
§impl Sync for Level
§impl Unpin for Level
§impl UnwindSafe for Level
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
- T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> From<T> for T
source§fn from(t: T) -> T
Returns the argument unchanged.
+) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
+ __S: Serializer,Serialize this value into the given Serde serializer. Read more§impl Copy for Level
§impl StructuralPartialEq for Level
Auto Trait Implementations§
§impl RefUnwindSafe for Level
§impl Send for Level
§impl Sync for Level
§impl Unpin for Level
§impl UnwindSafe for Level
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
+ T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
- S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
+From<T> for U chooses to do.
+source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
+ S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> DeserializeOwned for Twhere
- T: for<'de> Deserialize<'de>,
\ No newline at end of file
+WithDispatch wrapper. Read moresource§impl<T> DeserializeOwned for Twhere
+ T: for<'de> Deserialize<'de>,
pub struct NameHash {
- pub username: String,
- pub hash: String,
+NameHash in db_core - Rust
+ pub struct NameHash {
+ pub username: String,
+ pub hash: String,
}
Expand description
type encapsulating username and hashed password of a user
-Fields§
§username: Stringusername
-§hash: Stringhashed password
-Trait Implementations§
source§impl<'de> Deserialize<'de> for NameHash
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
- __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for NameHash
source§impl StructuralPartialEq for NameHash
Auto Trait Implementations§
§impl RefUnwindSafe for NameHash
§impl Send for NameHash
§impl Sync for NameHash
§impl Unpin for NameHash
§impl UnwindSafe for NameHash
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
- T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> From<T> for T
Fields§
§username: Stringusername
+§hash: Stringhashed password
+Trait Implementations§
source§impl<'de> Deserialize<'de> for NameHash
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
+ __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for NameHash
source§impl StructuralPartialEq for NameHash
Auto Trait Implementations§
§impl RefUnwindSafe for NameHash
§impl Send for NameHash
§impl Sync for NameHash
§impl Unpin for NameHash
§impl UnwindSafe for NameHash
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
+ T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
- S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
+From<T> for U chooses to do.
+source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
+ S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> DeserializeOwned for Twhere
- T: for<'de> Deserialize<'de>,
\ No newline at end of file
+WithDispatch wrapper. Read moresource§impl<T> DeserializeOwned for Twhere
+ T: for<'de> Deserialize<'de>,
pub struct Notification {
- pub name: Option<String>,
- pub heading: Option<String>,
- pub message: Option<String>,
- pub received: Option<i64>,
- pub id: Option<i32>,
+Notification in db_core - Rust
+ Struct db_core::Notification
source · pub struct Notification {
+ pub name: Option<String>,
+ pub heading: Option<String>,
+ pub message: Option<String>,
+ pub received: Option<i64>,
+ pub id: Option<i32>,
}
Expand description
Represents notification
-Fields§
§name: Option<String>receiver name of the notification
-§heading: Option<String>heading of the notification
-§message: Option<String>message of the notification
-§received: Option<i64>when notification was received
-§id: Option<i32>db assigned ID of the notification
-Trait Implementations§
source§impl Clone for Notification
source§fn clone(&self) -> Notification
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl Debug for Notification
source§impl Default for Notification
source§fn default() -> Notification
Returns the “default value” for a type. Read moresource§impl<'de> Deserialize<'de> for Notification
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
- __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for Notification
source§fn eq(&self, other: &Notification) -> bool
This method tests for self and other values to be equal, and is used
-by ==.source§impl Serialize for Notification
source§impl StructuralPartialEq for Notification
Auto Trait Implementations§
§impl RefUnwindSafe for Notification
§impl Send for Notification
§impl Sync for Notification
§impl Unpin for Notification
§impl UnwindSafe for Notification
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
- T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> From<T> for T
Fields§
§name: Option<String>receiver name of the notification
+§heading: Option<String>heading of the notification
+§message: Option<String>message of the notification
+§received: Option<i64>when notification was received
+§id: Option<i32>db assigned ID of the notification
+Trait Implementations§
source§impl Clone for Notification
source§fn clone(&self) -> Notification
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl Debug for Notification
source§impl Default for Notification
source§fn default() -> Notification
Returns the “default value” for a type. Read moresource§impl<'de> Deserialize<'de> for Notification
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
+ __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for Notification
source§fn eq(&self, other: &Notification) -> bool
This method tests for self and other values to be equal, and is used
+by ==.source§impl Serialize for Notification
source§impl StructuralPartialEq for Notification
Auto Trait Implementations§
§impl RefUnwindSafe for Notification
§impl Send for Notification
§impl Sync for Notification
§impl Unpin for Notification
§impl UnwindSafe for Notification
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
+ T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
- S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
+From<T> for U chooses to do.
+source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
+ S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> DeserializeOwned for Twhere
- T: for<'de> Deserialize<'de>,
\ No newline at end of file
+WithDispatch wrapper. Read moresource§impl<T> DeserializeOwned for Twhere
+ T: for<'de> Deserialize<'de>,
pub struct PerformanceAnalytics {
- pub id: usize,
- pub time: u32,
- pub difficulty_factor: u32,
- pub worker_type: String,
+PerformanceAnalytics in db_core - Rust
+ Struct db_core::PerformanceAnalytics
source · pub struct PerformanceAnalytics {
+ pub id: usize,
+ pub time: u32,
+ pub difficulty_factor: u32,
+ pub worker_type: String,
}
Expand description
Proof-of-Work CAPTCHA performance analytics
-Fields§
§id: usizelog ID
-§time: u32time taken to generate proof
-§difficulty_factor: u32difficulty factor for which the proof was generated
-§worker_type: Stringworker/client type: wasm, javascript, python, etc.
-Trait Implementations§
source§impl Clone for PerformanceAnalytics
source§fn clone(&self) -> PerformanceAnalytics
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl Debug for PerformanceAnalytics
source§impl Default for PerformanceAnalytics
source§fn default() -> PerformanceAnalytics
Returns the “default value” for a type. Read moresource§impl<'de> Deserialize<'de> for PerformanceAnalytics
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
- __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for PerformanceAnalytics
source§fn eq(&self, other: &PerformanceAnalytics) -> bool
This method tests for self and other values to be equal, and is used
-by ==.source§impl Serialize for PerformanceAnalytics
source§impl StructuralPartialEq for PerformanceAnalytics
Auto Trait Implementations§
§impl RefUnwindSafe for PerformanceAnalytics
§impl Send for PerformanceAnalytics
§impl Sync for PerformanceAnalytics
§impl Unpin for PerformanceAnalytics
§impl UnwindSafe for PerformanceAnalytics
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
- T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> From<T> for T
Fields§
§id: usizelog ID
+§time: u32time taken to generate proof
+§difficulty_factor: u32difficulty factor for which the proof was generated
+§worker_type: Stringworker/client type: wasm, javascript, python, etc.
+Trait Implementations§
source§impl Clone for PerformanceAnalytics
source§fn clone(&self) -> PerformanceAnalytics
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl Debug for PerformanceAnalytics
source§impl Default for PerformanceAnalytics
source§fn default() -> PerformanceAnalytics
Returns the “default value” for a type. Read moresource§impl<'de> Deserialize<'de> for PerformanceAnalytics
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
+ __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for PerformanceAnalytics
source§fn eq(&self, other: &PerformanceAnalytics) -> bool
This method tests for self and other values to be equal, and is used
+by ==.source§impl Serialize for PerformanceAnalytics
source§impl StructuralPartialEq for PerformanceAnalytics
Auto Trait Implementations§
§impl RefUnwindSafe for PerformanceAnalytics
§impl Send for PerformanceAnalytics
§impl Sync for PerformanceAnalytics
§impl Unpin for PerformanceAnalytics
§impl UnwindSafe for PerformanceAnalytics
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
+ T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
- S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
+From<T> for U chooses to do.
+source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
+ S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> DeserializeOwned for Twhere
- T: for<'de> Deserialize<'de>,
\ No newline at end of file
+WithDispatch wrapper. Read moresource§impl<T> DeserializeOwned for Twhere
+ T: for<'de> Deserialize<'de>,
pub struct Register<'a> {
- pub username: &'a str,
- pub secret: &'a str,
- pub hash: &'a str,
- pub email: Option<&'a str>,
+Register in db_core - Rust
+ pub struct Register<'a> {
+ pub username: &'a str,
+ pub secret: &'a str,
+ pub hash: &'a str,
+ pub email: Option<&'a str>,
}
Expand description
Data required to register a new user
-Fields§
§username: &'a strusername of new user
-§secret: &'a strsecret of new user
-§hash: &'a strhashed password of new use
-§email: Option<&'a str>Optionally, email of new use
-Trait Implementations§
source§impl<'de: 'a, 'a> Deserialize<'de> for Register<'a>
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
- __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl<'a> PartialEq for Register<'a>
source§impl<'a> StructuralPartialEq for Register<'a>
Auto Trait Implementations§
§impl<'a> RefUnwindSafe for Register<'a>
§impl<'a> Send for Register<'a>
§impl<'a> Sync for Register<'a>
§impl<'a> Unpin for Register<'a>
§impl<'a> UnwindSafe for Register<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
- T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> From<T> for T
Fields§
§username: &'a strusername of new user
+§secret: &'a strsecret of new user
+§hash: &'a strhashed password of new use
+§email: Option<&'a str>Optionally, email of new use
+Trait Implementations§
source§impl<'de: 'a, 'a> Deserialize<'de> for Register<'a>
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
+ __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl<'a> PartialEq for Register<'a>
source§impl<'a> StructuralPartialEq for Register<'a>
Auto Trait Implementations§
§impl<'a> RefUnwindSafe for Register<'a>
§impl<'a> Send for Register<'a>
§impl<'a> Sync for Register<'a>
§impl<'a> Unpin for Register<'a>
§impl<'a> UnwindSafe for Register<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
+ T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
- S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
+From<T> for U chooses to do.
+source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
+ S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> DeserializeOwned for Twhere
- T: for<'de> Deserialize<'de>,
\ No newline at end of file
+WithDispatch wrapper. Read moresource§impl<T> DeserializeOwned for Twhere
+ T: for<'de> Deserialize<'de>,
pub struct Secret {
- pub secret: String,
+Secret in db_core - Rust
+ pub struct Secret {
+ pub secret: String,
}
Expand description
datastructure representing a user’s secret
-Fields§
§secret: Stringuser’s secret
-Trait Implementations§
source§impl<'de> Deserialize<'de> for Secret
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
- __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for Secret
source§impl StructuralPartialEq for Secret
Auto Trait Implementations§
§impl RefUnwindSafe for Secret
§impl Send for Secret
§impl Sync for Secret
§impl Unpin for Secret
§impl UnwindSafe for Secret
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
- T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> From<T> for T
Fields§
§secret: Stringuser’s secret
+Trait Implementations§
source§impl<'de> Deserialize<'de> for Secret
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
+ __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for Secret
source§impl StructuralPartialEq for Secret
Auto Trait Implementations§
§impl RefUnwindSafe for Secret
§impl Send for Secret
§impl Sync for Secret
§impl Unpin for Secret
§impl UnwindSafe for Secret
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
+ T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
- S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
+From<T> for U chooses to do.
+source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
+ S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> DeserializeOwned for Twhere
- T: for<'de> Deserialize<'de>,
\ No newline at end of file
+WithDispatch wrapper. Read moresource§impl<T> DeserializeOwned for Twhere
+ T: for<'de> Deserialize<'de>,
pub struct StatsUnixTimestamp {
- pub config_fetches: Vec<i64>,
- pub solves: Vec<i64>,
- pub confirms: Vec<i64>,
+StatsUnixTimestamp in db_core - Rust
+ Struct db_core::StatsUnixTimestamp
source · pub struct StatsUnixTimestamp {
+ pub config_fetches: Vec<i64>,
+ pub solves: Vec<i64>,
+ pub confirms: Vec<i64>,
}
Expand description
Captcha statistics with time recorded in UNIX epoch formats
-Fields§
§config_fetches: Vec<i64>times at which the configuration were fetched
-§solves: Vec<i64>times at which the PoW was solved
-§confirms: Vec<i64>times at which the PoW token was verified
-Trait Implementations§
source§impl Clone for StatsUnixTimestamp
source§fn clone(&self) -> StatsUnixTimestamp
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl Debug for StatsUnixTimestamp
source§impl Default for StatsUnixTimestamp
source§fn default() -> StatsUnixTimestamp
Returns the “default value” for a type. Read moresource§impl<'de> Deserialize<'de> for StatsUnixTimestamp
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
- __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for StatsUnixTimestamp
source§fn eq(&self, other: &StatsUnixTimestamp) -> bool
This method tests for self and other values to be equal, and is used
-by ==.source§impl Serialize for StatsUnixTimestamp
source§impl StructuralPartialEq for StatsUnixTimestamp
Auto Trait Implementations§
§impl RefUnwindSafe for StatsUnixTimestamp
§impl Send for StatsUnixTimestamp
§impl Sync for StatsUnixTimestamp
§impl Unpin for StatsUnixTimestamp
§impl UnwindSafe for StatsUnixTimestamp
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
- T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> From<T> for T
Fields§
§config_fetches: Vec<i64>times at which the configuration were fetched
+§solves: Vec<i64>times at which the PoW was solved
+§confirms: Vec<i64>times at which the PoW token was verified
+Trait Implementations§
source§impl Clone for StatsUnixTimestamp
source§fn clone(&self) -> StatsUnixTimestamp
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl Debug for StatsUnixTimestamp
source§impl Default for StatsUnixTimestamp
source§fn default() -> StatsUnixTimestamp
Returns the “default value” for a type. Read moresource§impl<'de> Deserialize<'de> for StatsUnixTimestamp
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
+ __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for StatsUnixTimestamp
source§fn eq(&self, other: &StatsUnixTimestamp) -> bool
This method tests for self and other values to be equal, and is used
+by ==.source§impl Serialize for StatsUnixTimestamp
source§impl StructuralPartialEq for StatsUnixTimestamp
Auto Trait Implementations§
§impl RefUnwindSafe for StatsUnixTimestamp
§impl Send for StatsUnixTimestamp
§impl Sync for StatsUnixTimestamp
§impl Unpin for StatsUnixTimestamp
§impl UnwindSafe for StatsUnixTimestamp
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
+ T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
- S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
+From<T> for U chooses to do.
+source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
+ S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> DeserializeOwned for Twhere
- T: for<'de> Deserialize<'de>,
\ No newline at end of file
+WithDispatch wrapper. Read moresource§impl<T> DeserializeOwned for Twhere
+ T: for<'de> Deserialize<'de>,
pub struct TrafficPattern {
- pub avg_traffic: u32,
- pub peak_sustainable_traffic: u32,
- pub broke_my_site_traffic: Option<u32>,
+TrafficPattern in db_core - Rust
+ Struct db_core::TrafficPattern
source · pub struct TrafficPattern {
+ pub avg_traffic: u32,
+ pub peak_sustainable_traffic: u32,
+ pub broke_my_site_traffic: Option<u32>,
}
Expand description
User’s traffic pattern; used in generating a captcha configuration
-Fields§
§avg_traffic: u32average traffic of user’s website
-§peak_sustainable_traffic: u32the peak traffic that the user’s website can handle
-§broke_my_site_traffic: Option<u32>traffic that bought the user’s website down; optional
-Trait Implementations§
source§impl Clone for TrafficPattern
source§fn clone(&self) -> TrafficPattern
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl Debug for TrafficPattern
source§impl Default for TrafficPattern
source§fn default() -> TrafficPattern
Returns the “default value” for a type. Read moresource§impl<'de> Deserialize<'de> for TrafficPattern
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
- __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for TrafficPattern
source§fn eq(&self, other: &TrafficPattern) -> bool
This method tests for self and other values to be equal, and is used
-by ==.source§impl Serialize for TrafficPattern
source§impl StructuralPartialEq for TrafficPattern
Auto Trait Implementations§
§impl RefUnwindSafe for TrafficPattern
§impl Send for TrafficPattern
§impl Sync for TrafficPattern
§impl Unpin for TrafficPattern
§impl UnwindSafe for TrafficPattern
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
- T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> From<T> for T
Fields§
§avg_traffic: u32average traffic of user’s website
+§peak_sustainable_traffic: u32the peak traffic that the user’s website can handle
+§broke_my_site_traffic: Option<u32>traffic that bought the user’s website down; optional
+Trait Implementations§
source§impl Clone for TrafficPattern
source§fn clone(&self) -> TrafficPattern
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl Debug for TrafficPattern
source§impl Default for TrafficPattern
source§fn default() -> TrafficPattern
Returns the “default value” for a type. Read moresource§impl<'de> Deserialize<'de> for TrafficPattern
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
+ __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for TrafficPattern
source§fn eq(&self, other: &TrafficPattern) -> bool
This method tests for self and other values to be equal, and is used
+by ==.source§impl Serialize for TrafficPattern
source§impl StructuralPartialEq for TrafficPattern
Auto Trait Implementations§
§impl RefUnwindSafe for TrafficPattern
§impl Send for TrafficPattern
§impl Sync for TrafficPattern
§impl Unpin for TrafficPattern
§impl UnwindSafe for TrafficPattern
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
+ T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
- S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
+From<T> for U chooses to do.
+source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
+ S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> DeserializeOwned for Twhere
- T: for<'de> Deserialize<'de>,
\ No newline at end of file
+WithDispatch wrapper. Read moresource§impl<T> DeserializeOwned for Twhere
+ T: for<'de> Deserialize<'de>,
pub struct UpdateEmail<'a> {
- pub username: &'a str,
- pub new_email: &'a str,
+UpdateEmail in db_core - Rust
+ Struct db_core::UpdateEmail
source · pub struct UpdateEmail<'a> {
+ pub username: &'a str,
+ pub new_email: &'a str,
}
Expand description
data required to update them email of a user
-Fields§
§username: &'a strusername of the user
-§new_email: &'a strnew email address of the user
-Trait Implementations§
source§impl<'a> Clone for UpdateEmail<'a>
source§fn clone(&self) -> UpdateEmail<'a>
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl<'a> Debug for UpdateEmail<'a>
source§impl<'de: 'a, 'a> Deserialize<'de> for UpdateEmail<'a>
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
- __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl<'a> PartialEq for UpdateEmail<'a>
source§fn eq(&self, other: &UpdateEmail<'a>) -> bool
This method tests for self and other values to be equal, and is used
-by ==.source§impl<'a> Serialize for UpdateEmail<'a>
source§impl<'a> StructuralPartialEq for UpdateEmail<'a>
Auto Trait Implementations§
§impl<'a> RefUnwindSafe for UpdateEmail<'a>
§impl<'a> Send for UpdateEmail<'a>
§impl<'a> Sync for UpdateEmail<'a>
§impl<'a> Unpin for UpdateEmail<'a>
§impl<'a> UnwindSafe for UpdateEmail<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
- T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> From<T> for T
Fields§
§username: &'a strusername of the user
+§new_email: &'a strnew email address of the user
+Trait Implementations§
source§impl<'a> Clone for UpdateEmail<'a>
source§fn clone(&self) -> UpdateEmail<'a>
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl<'a> Debug for UpdateEmail<'a>
source§impl<'de: 'a, 'a> Deserialize<'de> for UpdateEmail<'a>
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
+ __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl<'a> PartialEq for UpdateEmail<'a>
source§fn eq(&self, other: &UpdateEmail<'a>) -> bool
This method tests for self and other values to be equal, and is used
+by ==.source§impl<'a> Serialize for UpdateEmail<'a>
source§impl<'a> StructuralPartialEq for UpdateEmail<'a>
Auto Trait Implementations§
§impl<'a> RefUnwindSafe for UpdateEmail<'a>
§impl<'a> Send for UpdateEmail<'a>
§impl<'a> Sync for UpdateEmail<'a>
§impl<'a> Unpin for UpdateEmail<'a>
§impl<'a> UnwindSafe for UpdateEmail<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
+ T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
- S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
+From<T> for U chooses to do.
+source§impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
+ S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> DeserializeOwned for Twhere
- T: for<'de> Deserialize<'de>,
\ No newline at end of file
+WithDispatch wrapper. Read moresource§impl<T> DeserializeOwned for Twhere
+ T: for<'de> Deserialize<'de>,
pub const LEVELS: [Level; 3];levels for complex captcha config
+pub const TRAFFIC_PATTERN: TrafficPattern;easy traffic pattern
+pub const TRAFFIC_PATTERN: TrafficPattern;easy traffic pattern
pub async fn database_works<'a, T: MCDatabase>(
- db: &T,
+database_works in db_core::tests - Rust
+ Function db_core::tests::database_works
source · pub async fn database_works<'a, T: MCDatabase>(
+ db: &T,
p: &Register<'a>,
c: &CreateCaptcha<'a>,
l: &[Level],
diff --git a/db_core/tests/index.html b/db_core/tests/index.html
index e87f6374..96b3c571 100644
--- a/db_core/tests/index.html
+++ b/db_core/tests/index.html
@@ -1,2 +1,3 @@
-db_core::tests - Rust
\ No newline at end of file
+db_core::tests - Rust
+
\ No newline at end of file
diff --git a/db_core/trait.CloneSPDatabase.html b/db_core/trait.CloneSPDatabase.html
index d259e263..46a083dd 100644
--- a/db_core/trait.CloneSPDatabase.html
+++ b/db_core/trait.CloneSPDatabase.html
@@ -1,7 +1,8 @@
-CloneSPDatabase in db_core - Rust Trait db_core::CloneSPDatabase
source · pub trait CloneSPDatabase {
+CloneSPDatabase in db_core - Rust
+ Trait db_core::CloneSPDatabase
source · pub trait CloneSPDatabase {
// Required method
- fn clone_db(&self) -> Box<dyn MCDatabase>;
+ fn clone_db(&self) -> Box<dyn MCDatabase>;
}
Expand description
Trait to clone MCDatabase
-Required Methods§
sourcefn clone_db(&self) -> Box<dyn MCDatabase>
clone DB
-Implementors§
source§impl<T> CloneSPDatabase for Twhere
- T: MCDatabase + Clone + 'static,
\ No newline at end of file
+
Required Methods§
sourcefn clone_db(&self) -> Box<dyn MCDatabase>
clone DB
+Implementors§
source§impl<T> CloneSPDatabase for Twhere
+ T: MCDatabase + Clone + 'static,
\ No newline at end of file
diff --git a/db_core/trait.MCDatabase.html b/db_core/trait.MCDatabase.html
index 974763e9..7c6d839a 100644
--- a/db_core/trait.MCDatabase.html
+++ b/db_core/trait.MCDatabase.html
@@ -1,138 +1,139 @@
-MCDatabase in db_core - Rust Trait db_core::MCDatabase
source · pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+MCDatabase in db_core - Rust
+ Trait db_core::MCDatabase
source · pub trait MCDatabase: Send + Sync + CloneSPDatabase {
Show 49 methods
// Required methods
fn ping<'life0, 'async_trait>(
&'life0 self
- ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn register<'life0, 'life1, 'async_trait>(
&'life0 self,
p: &'life1 Register<'_>
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn delete_user<'life0, 'life1, 'async_trait>(
&'life0 self,
- username: &'life1 str
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ username: &'life1 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn username_exists<'life0, 'life1, 'async_trait>(
&'life0 self,
- username: &'life1 str
- ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
+ username: &'life1 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_email<'life0, 'life1, 'async_trait>(
&'life0 self,
- username: &'life1 str
- ) -> Pin<Box<dyn Future<Output = DBResult<Option<String>>> + Send + 'async_trait>>
+ username: &'life1 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<Option<String>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn email_exists<'life0, 'life1, 'async_trait>(
&'life0 self,
- email: &'life1 str
- ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
+ email: &'life1 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn update_email<'life0, 'life1, 'async_trait>(
&'life0 self,
p: &'life1 UpdateEmail<'_>
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_password<'life0, 'life1, 'async_trait>(
&'life0 self,
l: &'life1 Login<'_>
- ) -> Pin<Box<dyn Future<Output = DBResult<NameHash>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = DBResult<NameHash>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn update_password<'life0, 'life1, 'async_trait>(
&'life0 self,
p: &'life1 NameHash
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn update_username<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- current: &'life1 str,
- new: &'life2 str
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ current: &'life1 str,
+ new: &'life2 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn get_secret<'life0, 'life1, 'async_trait>(
&'life0 self,
- username: &'life1 str
- ) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>
+ username: &'life1 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
&'life0 self,
- key: &'life1 str
- ) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>
+ key: &'life1 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- secret: &'life2 str
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ username: &'life1 str,
+ secret: &'life2 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: &'life1 str,
+ username: &'life1 str,
p: &'life2 CreateCaptcha<'_>
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- key: &'life2 str
- ) -> Pin<Box<dyn Future<Output = DBResult<Captcha>> + Send + 'async_trait>>
+ username: &'life1 str,
+ key: &'life2 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<Captcha>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
&'life0 self,
- username: &'life1 str
- ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Captcha>>> + Send + 'async_trait>>
+ username: &'life1 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Captcha>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: &'life1 str,
+ username: &'life1 str,
p: &'life2 CreateCaptcha<'_>
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- old_key: &'life2 str,
- new_key: &'life3 str
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ username: &'life1 str,
+ old_key: &'life2 str,
+ new_key: &'life3 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
@@ -140,10 +141,10 @@
'life3: 'async_trait;
fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- captcha_key: &'life2 str,
+ username: &'life1 str,
+ captcha_key: &'life2 str,
levels: &'life3 [Level]
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
@@ -151,53 +152,53 @@
'life3: 'async_trait;
fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: Option<&'life1 str>,
- captcha_key: &'life2 str
- ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
+ username: Option<&'life1 str>,
+ captcha_key: &'life2 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- captcha_key: &'life2 str
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ username: &'life1 str,
+ captcha_key: &'life2 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- captcha_key: &'life2 str
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ username: &'life1 str,
+ captcha_key: &'life2 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: Option<&'life1 str>,
- captcha_key: &'life2 str
- ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Level>>> + Send + 'async_trait>>
+ username: Option<&'life1 str>,
+ captcha_key: &'life2 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Level>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
&'life0 self,
- captcha_key: &'life1 str
- ) -> Pin<Box<dyn Future<Output = DBResult<i32>> + Send + 'async_trait>>
+ captcha_key: &'life1 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<i32>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- captcha_key: &'life2 str,
+ username: &'life1 str,
+ captcha_key: &'life2 str,
pattern: &'life3 TrafficPattern
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
@@ -205,25 +206,25 @@
'life3: 'async_trait;
fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- captcha_key: &'life2 str
- ) -> Pin<Box<dyn Future<Output = DBResult<TrafficPattern>> + Send + 'async_trait>>
+ username: &'life1 str,
+ captcha_key: &'life2 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<TrafficPattern>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn get_all_easy_captchas<'life0, 'async_trait>(
&'life0 self,
- limit: usize,
- offset: usize
- ) -> Pin<Box<dyn Future<Output = DBResult<Vec<EasyCaptcha>>> + Send + 'async_trait>>
+ limit: usize,
+ offset: usize
+ ) -> Pin<Box<dyn Future<Output = DBResult<Vec<EasyCaptcha>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- captcha_key: &'life2 str
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ username: &'life1 str,
+ captcha_key: &'life2 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
@@ -231,552 +232,552 @@
fn create_notification<'life0, 'life1, 'async_trait>(
&'life0 self,
p: &'life1 AddNotification<'_>
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
&'life0 self,
- username: &'life1 str
- ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Notification>>> + Send + 'async_trait>>
+ username: &'life1 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Notification>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn mark_notification_read<'life0, 'life1, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- id: i32
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ username: &'life1 str,
+ id: i32
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn record_fetch<'life0, 'life1, 'async_trait>(
&'life0 self,
- key: &'life1 str
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ key: &'life1 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn record_solve<'life0, 'life1, 'async_trait>(
&'life0 self,
- key: &'life1 str
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ key: &'life1 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn record_confirm<'life0, 'life1, 'async_trait>(
&'life0 self,
- key: &'life1 str
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ key: &'life1 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- user: &'life1 str,
- key: &'life2 str
- ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
+ user: &'life1 str,
+ key: &'life2 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- user: &'life1 str,
- key: &'life2 str
- ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
+ user: &'life1 str,
+ key: &'life2 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- user: &'life1 str,
- key: &'life2 str
- ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
+ user: &'life1 str,
+ key: &'life2 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn analysis_save<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- captcha_id: &'life1 str,
+ captcha_id: &'life1 str,
d: &'life2 CreatePerformanceAnalytics
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn analytics_fetch<'life0, 'life1, 'async_trait>(
&'life0 self,
- captcha_id: &'life1 str,
- limit: usize,
- offset: usize
- ) -> Pin<Box<dyn Future<Output = DBResult<Vec<PerformanceAnalytics>>> + Send + 'async_trait>>
+ captcha_id: &'life1 str,
+ limit: usize,
+ offset: usize
+ ) -> Pin<Box<dyn Future<Output = DBResult<Vec<PerformanceAnalytics>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn analytics_create_psuedo_id_if_not_exists<'life0, 'life1, 'async_trait>(
&'life0 self,
- captcha_id: &'life1 str
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ captcha_id: &'life1 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn analytics_get_psuedo_id_from_capmaign_id<'life0, 'life1, 'async_trait>(
&'life0 self,
- captcha_id: &'life1 str
- ) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>
+ captcha_id: &'life1 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn analytics_get_capmaign_id_from_psuedo_id<'life0, 'life1, 'async_trait>(
&'life0 self,
- psuedo_id: &'life1 str
- ) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>
+ psuedo_id: &'life1 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<String>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn analytics_delete_all_records_for_campaign<'life0, 'life1, 'async_trait>(
&'life0 self,
- campaign_id: &'life1 str
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ campaign_id: &'life1 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn analytics_get_all_psuedo_ids<'life0, 'async_trait>(
&'life0 self,
- page: usize
- ) -> Pin<Box<dyn Future<Output = DBResult<Vec<String>>> + Send + 'async_trait>>
+ page: usize
+ ) -> Pin<Box<dyn Future<Output = DBResult<Vec<String>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn update_max_nonce_for_level<'life0, 'life1, 'async_trait>(
&'life0 self,
- captcha_key: &'life1 str,
- difficulty_factor: u32,
- latest_nonce: u32
- ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
+ captcha_key: &'life1 str,
+ difficulty_factor: u32,
+ latest_nonce: u32
+ ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_max_nonce_for_level<'life0, 'life1, 'async_trait>(
&'life0 self,
- captcha_key: &'life1 str,
- difficulty_factor: u32
- ) -> Pin<Box<dyn Future<Output = DBResult<u32>> + Send + 'async_trait>>
+ captcha_key: &'life1 str,
+ difficulty_factor: u32
+ ) -> Pin<Box<dyn Future<Output = DBResult<u32>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn stats_get_num_logs_under_time<'life0, 'async_trait>(
&'life0 self,
- duration: u32
- ) -> Pin<Box<dyn Future<Output = DBResult<usize>> + Send + 'async_trait>>
+ duration: u32
+ ) -> Pin<Box<dyn Future<Output = DBResult<usize>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn stats_get_entry_at_location_for_time_limit_asc<'life0, 'async_trait>(
&'life0 self,
- duration: u32,
- location: u32
- ) -> Pin<Box<dyn Future<Output = DBResult<Option<usize>>> + Send + 'async_trait>>
+ duration: u32,
+ location: u32
+ ) -> Pin<Box<dyn Future<Output = DBResult<Option<usize>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
// Provided method
fn analytics_captcha_is_published<'life0, 'life1, 'async_trait>(
&'life0 self,
- campaign_id: &'life1 str
- ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
+ campaign_id: &'life1 str
+ ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
}
Expand description
mCaptcha’s database requirements. To implement support for $Database, kindly implement this
trait.
-Required Methods§
Required Methods§
sourcefn ping<'life0, 'async_trait>(
&'life0 self
-) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
- 'life0: 'async_trait,ping DB
+ 'life0: 'async_trait,ping DB
sourcefn register<'life0, 'life1, 'async_trait>(
&'life0 self,
p: &'life1 Register<'_>
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,register a new user
+ 'life1: 'async_trait,register a new user
sourcefn delete_user<'life0, 'life1, 'async_trait>(
&'life0 self,
- username: &'life1 str
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+ username: &'life1 str
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,delete a user
+ 'life1: 'async_trait,delete a user
sourcefn username_exists<'life0, 'life1, 'async_trait>(
&'life0 self,
- username: &'life1 str
-) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>where
+ username: &'life1 str
+) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,check if username exists
+ 'life1: 'async_trait,check if username exists
sourcefn get_email<'life0, 'life1, 'async_trait>(
&'life0 self,
- username: &'life1 str
-) -> Pin<Box<dyn Future<Output = DBResult<Option<String>>> + Send + 'async_trait>>where
+ username: &'life1 str
+) -> Pin<Box<dyn Future<Output = DBResult<Option<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,get user email
+ 'life1: 'async_trait,get user email
sourcefn email_exists<'life0, 'life1, 'async_trait>(
&'life0 self,
- email: &'life1 str
-) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>where
+ email: &'life1 str
+) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,check if email exists
+ 'life1: 'async_trait,check if email exists
sourcefn update_email<'life0, 'life1, 'async_trait>(
&'life0 self,
p: &'life1 UpdateEmail<'_>
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,update a user’s email
+ 'life1: 'async_trait,update a user’s email
sourcefn get_password<'life0, 'life1, 'async_trait>(
&'life0 self,
l: &'life1 Login<'_>
-) -> Pin<Box<dyn Future<Output = DBResult<NameHash>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = DBResult<NameHash>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,get a user’s password
+ 'life1: 'async_trait,get a user’s password
sourcefn update_password<'life0, 'life1, 'async_trait>(
&'life0 self,
p: &'life1 NameHash
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,update user’s password
+ 'life1: 'async_trait,update user’s password
sourcefn update_username<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- current: &'life1 str,
- new: &'life2 str
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+ current: &'life1 str,
+ new: &'life2 str
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
- 'life2: 'async_trait,update username
+ 'life2: 'async_trait,update username
sourcefn get_secret<'life0, 'life1, 'async_trait>(
&'life0 self,
- username: &'life1 str
-) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>where
+ username: &'life1 str
+) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,get a user’s secret
+ 'life1: 'async_trait,get a user’s secret
sourcefn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
&'life0 self,
- key: &'life1 str
-) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>where
+ key: &'life1 str
+) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,get a user’s secret from a captcha key
+ 'life1: 'async_trait,get a user’s secret from a captcha key
sourcefn update_secret<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- secret: &'life2 str
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+ username: &'life1 str,
+ secret: &'life2 str
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
- 'life2: 'async_trait,update a user’s secret
+ 'life2: 'async_trait,update a user’s secret
sourcefn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: &'life1 str,
+ username: &'life1 str,
p: &'life2 CreateCaptcha<'_>
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
- 'life2: 'async_trait,create new captcha
+ 'life2: 'async_trait,create new captcha
sourcefn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- key: &'life2 str
-) -> Pin<Box<dyn Future<Output = DBResult<Captcha>> + Send + 'async_trait>>where
+ username: &'life1 str,
+ key: &'life2 str
+) -> Pin<Box<dyn Future<Output = DBResult<Captcha>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
- 'life2: 'async_trait,Get captcha config
+ 'life2: 'async_trait,Get captcha config
sourcefn get_all_user_captchas<'life0, 'life1, 'async_trait>(
&'life0 self,
- username: &'life1 str
-) -> Pin<Box<dyn Future<Output = DBResult<Vec<Captcha>>> + Send + 'async_trait>>where
+ username: &'life1 str
+) -> Pin<Box<dyn Future<Output = DBResult<Vec<Captcha>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,Get all captchas belonging to user
+ 'life1: 'async_trait,Get all captchas belonging to user
sourcefn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: &'life1 str,
+ username: &'life1 str,
p: &'life2 CreateCaptcha<'_>
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
- 'life2: 'async_trait,update captcha metadata; doesn’t change captcha key
+ 'life2: 'async_trait,update captcha metadata; doesn’t change captcha key
sourcefn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- old_key: &'life2 str,
- new_key: &'life3 str
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+ username: &'life1 str,
+ old_key: &'life2 str,
+ new_key: &'life3 str
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
- 'life3: 'async_trait,update captcha key; doesn’t change metadata
+ 'life3: 'async_trait,update captcha key; doesn’t change metadata
sourcefn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- captcha_key: &'life2 str,
+ username: &'life1 str,
+ captcha_key: &'life2 str,
levels: &'life3 [Level]
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
- 'life3: 'async_trait,Add levels to captcha
+ 'life3: 'async_trait,Add levels to captcha
sourcefn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: Option<&'life1 str>,
- captcha_key: &'life2 str
-) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>where
+ username: Option<&'life1 str>,
+ captcha_key: &'life2 str
+) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
- 'life2: 'async_trait,check if captcha exists
+ 'life2: 'async_trait,check if captcha exists
sourcefn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- captcha_key: &'life2 str
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+ username: &'life1 str,
+ captcha_key: &'life2 str
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
- 'life2: 'async_trait,Delete all levels of a captcha
+ 'life2: 'async_trait,Delete all levels of a captcha
sourcefn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- captcha_key: &'life2 str
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+ username: &'life1 str,
+ captcha_key: &'life2 str
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
- 'life2: 'async_trait,Delete captcha
+ 'life2: 'async_trait,Delete captcha
sourcefn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: Option<&'life1 str>,
- captcha_key: &'life2 str
-) -> Pin<Box<dyn Future<Output = DBResult<Vec<Level>>> + Send + 'async_trait>>where
+ username: Option<&'life1 str>,
+ captcha_key: &'life2 str
+) -> Pin<Box<dyn Future<Output = DBResult<Vec<Level>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
- 'life2: 'async_trait,Get captcha levels
+ 'life2: 'async_trait,Get captcha levels
sourcefn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
&'life0 self,
- captcha_key: &'life1 str
-) -> Pin<Box<dyn Future<Output = DBResult<i32>> + Send + 'async_trait>>where
+ captcha_key: &'life1 str
+) -> Pin<Box<dyn Future<Output = DBResult<i32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,Get captcha’s cooldown period
+ 'life1: 'async_trait,Get captcha’s cooldown period
sourcefn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- captcha_key: &'life2 str,
+ username: &'life1 str,
+ captcha_key: &'life2 str,
pattern: &'life3 TrafficPattern
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
- 'life3: 'async_trait,Add traffic configuration
+ 'life3: 'async_trait,Add traffic configuration
sourcefn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- captcha_key: &'life2 str
-) -> Pin<Box<dyn Future<Output = DBResult<TrafficPattern>> + Send + 'async_trait>>where
+ username: &'life1 str,
+ captcha_key: &'life2 str
+) -> Pin<Box<dyn Future<Output = DBResult<TrafficPattern>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
- 'life2: 'async_trait,Get traffic configuration
+ 'life2: 'async_trait,Get traffic configuration
sourcefn get_all_easy_captchas<'life0, 'async_trait>(
&'life0 self,
- limit: usize,
- offset: usize
-) -> Pin<Box<dyn Future<Output = DBResult<Vec<EasyCaptcha>>> + Send + 'async_trait>>where
+ limit: usize,
+ offset: usize
+) -> Pin<Box<dyn Future<Output = DBResult<Vec<EasyCaptcha>>> + Send + 'async_trait>>where
Self: 'async_trait,
- 'life0: 'async_trait,Get all easy captcha configurations on instance
+ 'life0: 'async_trait,Get all easy captcha configurations on instance
sourcefn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- captcha_key: &'life2 str
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+ username: &'life1 str,
+ captcha_key: &'life2 str
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
- 'life2: 'async_trait,Delete traffic configuration
+ 'life2: 'async_trait,Delete traffic configuration
sourcefn create_notification<'life0, 'life1, 'async_trait>(
&'life0 self,
p: &'life1 AddNotification<'_>
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,create new notification
+ 'life1: 'async_trait,create new notification
sourcefn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
&'life0 self,
- username: &'life1 str
-) -> Pin<Box<dyn Future<Output = DBResult<Vec<Notification>>> + Send + 'async_trait>>where
+ username: &'life1 str
+) -> Pin<Box<dyn Future<Output = DBResult<Vec<Notification>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,get all unread notifications
+ 'life1: 'async_trait,get all unread notifications
sourcefn mark_notification_read<'life0, 'life1, 'async_trait>(
&'life0 self,
- username: &'life1 str,
- id: i32
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+ username: &'life1 str,
+ id: i32
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,mark a notification read
+ 'life1: 'async_trait,mark a notification read
sourcefn record_fetch<'life0, 'life1, 'async_trait>(
&'life0 self,
- key: &'life1 str
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+ key: &'life1 str
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,record PoWConfig fetches
+ 'life1: 'async_trait,record PoWConfig fetches
sourcefn record_solve<'life0, 'life1, 'async_trait>(
&'life0 self,
- key: &'life1 str
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+ key: &'life1 str
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,record PoWConfig solves
+ 'life1: 'async_trait,record PoWConfig solves
sourcefn record_confirm<'life0, 'life1, 'async_trait>(
&'life0 self,
- key: &'life1 str
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+ key: &'life1 str
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
- 'life1: 'async_trait,record PoWConfig confirms
+ 'life1: 'async_trait,record PoWConfig confirms
sourcefn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- user: &'life1 str,
- key: &'life2 str
-) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>where
+ user: &'life1 str,
+ key: &'life2 str
+) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
- 'life2: 'async_trait,fetch PoWConfig fetches
+ 'life2: 'async_trait,fetch PoWConfig fetches
sourcefn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- user: &'life1 str,
- key: &'life2 str
-) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>where
+ user: &'life1 str,
+ key: &'life2 str
+) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
- 'life2: 'async_trait,fetch PoWConfig solves
+ 'life2: 'async_trait,fetch PoWConfig solves
sourcefn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- user: &'life1 str,
- key: &'life2 str
-) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>where
+ user: &'life1 str,
+ key: &'life2 str
+) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
- 'life2: 'async_trait,fetch PoWConfig confirms
+ 'life2: 'async_trait,fetch PoWConfig confirms
sourcefn analysis_save<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
- captcha_id: &'life1 str,
+ captcha_id: &'life1 str,
d: &'life2 CreatePerformanceAnalytics
-) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
+) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
- 'life2: 'async_trait,record PoW timing
+ 'life2: 'async_trait,record PoW timing