pub struct ProgressAnalyzer { /* private fields */ }Expand description
Progress analyzer for tracking user improvement
Implementations§
Source§impl ProgressAnalyzer
impl ProgressAnalyzer
Sourcepub async fn new() -> Result<Self, FeedbackError>
pub async fn new() -> Result<Self, FeedbackError>
Create a new progress analyzer
Sourcepub async fn with_config(config: ProgressConfig) -> Result<Self, FeedbackError>
pub async fn with_config(config: ProgressConfig) -> Result<Self, FeedbackError>
Create with custom configuration
Sourcepub async fn get_user_progress_impl(
&self,
user_id: &str,
) -> Result<UserProgress, FeedbackError>
pub async fn get_user_progress_impl( &self, user_id: &str, ) -> Result<UserProgress, FeedbackError>
Create or get user progress
Sourcepub async fn record_training_session(
&self,
user_id: &str,
scores: &TrainingScores,
) -> Result<(), FeedbackError>
pub async fn record_training_session( &self, user_id: &str, scores: &TrainingScores, ) -> Result<(), FeedbackError>
Record training session progress
Sourcepub async fn record_session_progress(
&self,
user_id: &str,
session: &SessionState,
scores: &TrainingScores,
feedback: &FeedbackResponse,
) -> Result<(), FeedbackError>
pub async fn record_session_progress( &self, user_id: &str, session: &SessionState, scores: &TrainingScores, feedback: &FeedbackResponse, ) -> Result<(), FeedbackError>
Record training session progress
Sourcepub async fn generate_detailed_report(
&self,
user_id: &str,
time_range: Option<TimeRange>,
) -> Result<DetailedProgressReport, FeedbackError>
pub async fn generate_detailed_report( &self, user_id: &str, time_range: Option<TimeRange>, ) -> Result<DetailedProgressReport, FeedbackError>
Generate detailed progress report
Sourcepub async fn analyze_learning_patterns(
&self,
user_id: &str,
) -> Result<Vec<String>, FeedbackError>
pub async fn analyze_learning_patterns( &self, user_id: &str, ) -> Result<Vec<String>, FeedbackError>
Analyze learning patterns
Sourcepub async fn set_goal(
&self,
user_id: &str,
goal: Goal,
) -> Result<(), FeedbackError>
pub async fn set_goal( &self, user_id: &str, goal: Goal, ) -> Result<(), FeedbackError>
Set user goals
Sourcepub async fn get_user_goals(
&self,
user_id: &str,
) -> Result<Vec<Goal>, FeedbackError>
pub async fn get_user_goals( &self, user_id: &str, ) -> Result<Vec<Goal>, FeedbackError>
Get user goals
Sourcepub async fn check_achievements(
&self,
user_id: &str,
) -> Result<Vec<Achievement>, FeedbackError>
pub async fn check_achievements( &self, user_id: &str, ) -> Result<Vec<Achievement>, FeedbackError>
Check achievements
Sourcepub async fn get_statistics(&self) -> Result<ProgressSystemStats, FeedbackError>
pub async fn get_statistics(&self) -> Result<ProgressSystemStats, FeedbackError>
Get system statistics
Trait Implementations§
Source§impl Clone for ProgressAnalyzer
impl Clone for ProgressAnalyzer
Source§fn clone(&self) -> ProgressAnalyzer
fn clone(&self) -> ProgressAnalyzer
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl ProgressTracker for ProgressAnalyzer
impl ProgressTracker for ProgressAnalyzer
Source§fn record_progress<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
user_id: &'life1 str,
session: &'life2 SessionState,
scores: &'life3 TrainingScores,
) -> Pin<Box<dyn Future<Output = FeedbackResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn record_progress<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
user_id: &'life1 str,
session: &'life2 SessionState,
scores: &'life3 TrainingScores,
) -> Pin<Box<dyn Future<Output = FeedbackResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Record user progress
Source§fn get_user_progress<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = FeedbackResult<UserProgress>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_user_progress<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = FeedbackResult<UserProgress>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get user progress data
Source§fn generate_progress_report<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
time_range: Option<TimeRange>,
) -> Pin<Box<dyn Future<Output = FeedbackResult<ProgressReport>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn generate_progress_report<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
time_range: Option<TimeRange>,
) -> Pin<Box<dyn Future<Output = FeedbackResult<ProgressReport>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate progress report
Source§fn check_achievements<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = FeedbackResult<Vec<Achievement>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn check_achievements<'life0, 'life1, 'async_trait>(
&'life0 self,
user_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = FeedbackResult<Vec<Achievement>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Check for achievements
Auto Trait Implementations§
impl Freeze for ProgressAnalyzer
impl RefUnwindSafe for ProgressAnalyzer
impl Send for ProgressAnalyzer
impl Sync for ProgressAnalyzer
impl Unpin for ProgressAnalyzer
impl UnwindSafe for ProgressAnalyzer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.