pub trait State {
// Required methods
fn req_connection(self: Box<Self>) -> Box<dyn State>;
fn req_bind(self: Box<Self>) -> Box<dyn State>;
fn req_search(self: Box<Self>) -> Box<dyn State>;
fn clone_dyn(&self) -> Box<dyn State>;
// Provided method
fn get_entries(
self: Box<Self>,
_request: &Request,
) -> Option<Vec<ResultEntry>> { ... }
}Expand description
State design pattern to Request