pub struct Governance {
pub our_key: Arc<PublicKey>,
pub service: bool,
pub hash: Option<HashAlgorithm>,
pub subject_metadata: SubjectMetadata,
pub properties: GovernanceData,
}Fields§
§our_key: Arc<PublicKey>§service: bool§hash: Option<HashAlgorithm>§subject_metadata: SubjectMetadata§properties: GovernanceDataTrait Implementations§
Source§impl Actor for Governance
impl Actor for Governance
Source§type Message = GovernanceMessage
type Message = GovernanceMessage
The type of messages this actor accepts.
Source§type Response = GovernanceResponse
type Response = GovernanceResponse
The type returned by the actor in response to each message.
Source§fn get_span(id: &str, parent_span: Option<Span>) -> Span
fn get_span(id: &str, parent_span: Option<Span>) -> Span
Creates the tracing span for this actor instance. Read more
Source§fn pre_start<'life0, 'life1, 'async_trait>(
&'life0 mut self,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn pre_start<'life0, 'life1, 'async_trait>(
&'life0 mut self,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Called once before the actor begins processing messages. Read more
Source§fn drain_timeout() -> Duration
fn drain_timeout() -> Duration
Maximum time to spend processing critical messages during shutdown before dropping them.
Source§fn startup_timeout() -> Option<Duration>
fn startup_timeout() -> Option<Duration>
Maximum time to wait for
pre_start to complete; None disables the startup timeout.Source§fn stop_timeout() -> Option<Duration>
fn stop_timeout() -> Option<Duration>
Maximum time a parent waits for this actor to acknowledge a stop request;
None disables the stop timeout.Source§fn supervision_strategy() -> SupervisionStrategy
fn supervision_strategy() -> SupervisionStrategy
Returns the supervision strategy applied when this actor fails at startup.
Source§fn pre_restart<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
ctx: &'life1 mut ActorContext<Self>,
_error: Option<&'life2 Error>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn pre_restart<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
ctx: &'life1 mut ActorContext<Self>,
_error: Option<&'life2 Error>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Called when the actor is about to be restarted after a failure. Read more
Source§fn pre_stop<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn pre_stop<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Called when the actor is about to stop, before children are stopped. Read more
Source§fn post_stop<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn post_stop<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Called after all children have stopped and the actor is fully shut down. Override for final cleanup.
Source§impl BorshDeserialize for Governance
impl BorshDeserialize for Governance
fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self>
Source§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
Deserializes this instance from a given slice of bytes.
Updates the buffer to point at the remaining bytes.
Source§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
Deserialize this instance from a slice of bytes.
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
Source§impl BorshSerialize for Governance
impl BorshSerialize for Governance
Source§impl Clone for Governance
impl Clone for Governance
Source§fn clone(&self) -> Governance
fn clone(&self) -> Governance
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 Debug for Governance
impl Debug for Governance
Source§impl Default for Governance
impl Default for Governance
Source§fn default() -> Governance
fn default() -> Governance
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for Governance
impl<'de> Deserialize<'de> for Governance
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<Governance> for Metadata
impl From<Governance> for Metadata
Source§fn from(value: Governance) -> Self
fn from(value: Governance) -> Self
Converts to this type from the input type.
Source§impl From<Governance> for SubjectDB
impl From<Governance> for SubjectDB
Source§fn from(value: Governance) -> Self
fn from(value: Governance) -> Self
Converts to this type from the input type.
Source§impl Handler<Governance> for Governance
impl Handler<Governance> for Governance
Source§fn handle_message<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_sender: ActorPath,
msg: GovernanceMessage,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<GovernanceResponse, ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle_message<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_sender: ActorPath,
msg: GovernanceMessage,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<GovernanceResponse, ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn on_event<'life0, 'life1, 'async_trait>(
&'life0 mut self,
event: Ledger,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn on_event<'life0, 'life1, 'async_trait>(
&'life0 mut self,
event: Ledger,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Called when the actor wants to apply an event to its own state; not invoked automatically by the runtime.
Source§fn on_child_fault<'life0, 'life1, 'async_trait>(
&'life0 mut self,
error: ActorError,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = ChildAction> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn on_child_fault<'life0, 'life1, 'async_trait>(
&'life0 mut self,
error: ActorError,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = ChildAction> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Called when a child actor fails unrecoverably (panics or exhausts retries). Read more
Source§fn on_child_error<'life0, 'life1, 'async_trait>(
&'life0 mut self,
error: Error,
_ctx: &'life1 mut ActorContext<A>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn on_child_error<'life0, 'life1, 'async_trait>(
&'life0 mut self,
error: Error,
_ctx: &'life1 mut ActorContext<A>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Called when a child actor reports an error via
ActorContext::emit_error. Read moreSource§impl PersistentActor for Governance
impl PersistentActor for Governance
Source§type Persistence = FullPersistence
type Persistence = FullPersistence
The persistence strategy (
LightPersistence or FullPersistence).Source§type InitParams = (Option<(SubjectMetadata, GovernanceData)>, Arc<PublicKey>, HashAlgorithm, bool)
type InitParams = (Option<(SubjectMetadata, GovernanceData)>, Arc<PublicKey>, HashAlgorithm, bool)
Parameters passed to
create_initial. Use () if no initialization data is needed.Source§fn update(&mut self, state: Self)
fn update(&mut self, state: Self)
Replaces the current state with
state, used during snapshot recovery. Read moreSource§fn create_initial(params: Self::InitParams) -> Self
fn create_initial(params: Self::InitParams) -> Self
Creates the actor in its default initial state from the given parameters. Read more
Source§fn apply(&mut self, event: &Self::Event) -> Result<(), ActorError>
fn apply(&mut self, event: &Self::Event) -> Result<(), ActorError>
Applies
event to the actor’s in-memory state. Read moreSource§fn initial(params: Self::InitParams) -> InitializedActor<Self>where
Self: Sized,
fn initial(params: Self::InitParams) -> InitializedActor<Self>where
Self: Sized,
Returns an
InitializedActor wrapping the actor’s initial state. Read moreSource§fn compact_on_snapshot() -> bool
fn compact_on_snapshot() -> bool
Whether already snapshotted events should be compacted after a
successful snapshot. Read more
Source§fn persist<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
event: &'life1 Self::Event,
ctx: &'life2 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
fn persist<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
event: &'life1 Self::Event,
ctx: &'life2 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Send + 'async_trait,
Applies
event to the in-memory state and durably persists it. Read moreSource§fn snapshot<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn snapshot<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
Sends the current state to the child
store actor to be saved as a snapshot. Read moreSource§fn start_store<'life0, 'life1, 'life2, 'async_trait, C, S>(
&'life0 mut self,
name: &'life1 str,
prefix: Option<String>,
ctx: &'life2 mut ActorContext<Self>,
manager: impl DbManager<C, S> + 'async_trait,
key_box: Option<EncryptedKey>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
C: 'async_trait + Collection,
S: 'async_trait + State,
Self: Send + 'async_trait,
fn start_store<'life0, 'life1, 'life2, 'async_trait, C, S>(
&'life0 mut self,
name: &'life1 str,
prefix: Option<String>,
ctx: &'life2 mut ActorContext<Self>,
manager: impl DbManager<C, S> + 'async_trait,
key_box: Option<EncryptedKey>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
C: 'async_trait + Collection,
S: 'async_trait + State,
Self: Send + 'async_trait,
Creates the child
store actor, opens the storage backend, and recovers any persisted state. Read moreSource§impl Serialize for Governance
impl Serialize for Governance
Source§impl Storable for Governance
impl Storable for Governance
fn init_store<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
name: &'life1 str,
prefix: Option<String>,
encrypt: bool,
ctx: &'life2 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§impl Subject for Governance
impl Subject for Governance
fn update_sn<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn eol<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn reject<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
_gov_version: u64,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn confirm<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
_new_owner: PublicKey,
_gov_version: u64,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn transfer<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
new_owner: PublicKey,
_gov_version: u64,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_last_ledger<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
) -> Pin<Box<dyn Future<Output = Result<Option<Ledger>, ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn apply_patch(&mut self, json_patch: ValueWrapper) -> Result<(), ActorError>
fn manager_new_ledger_events<'life0, 'life1, 'async_trait>(
&'life0 mut self,
ctx: &'life1 mut ActorContext<Self>,
events: Vec<Ledger>,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn verify_new_ledger_event_args<'a>( new_ledger_event: &'a Ledger, subject_metadata: Metadata, actual_ledger_event_hash: DigestIdentifier, last_data: LastData, hash: &'a HashAlgorithm, full_view: bool, only_clear_events: bool, ) -> VerifyNewLedgerEvent<'a>
fn hash_viewpoints( hash: &HashAlgorithm, viewpoints: &BTreeSet<String>, ) -> Result<DigestIdentifier, SubjectError>
fn request_viewpoints(event_request: &EventRequest) -> BTreeSet<String>
fn apply_patch_verify( subject_properties: &mut ValueWrapper, json_patch: ValueWrapper, ) -> Result<(), SubjectError>
fn verify_new_ledger_event<'life0, 'life1, 'async_trait>(
ctx: &'life0 mut ActorContext<Self>,
args: VerifyNewLedgerEvent<'life1>,
) -> Pin<Box<dyn Future<Output = Result<bool, SubjectError>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn verify_first_ledger_event<'life0, 'life1, 'life2, 'async_trait>(
ctx: &'life0 mut ActorContext<Self>,
ledger_event: &'life1 Ledger,
hash: &'life2 HashAlgorithm,
subject_metadata: Metadata,
) -> Pin<Box<dyn Future<Output = Result<(), SubjectError>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn register<'life0, 'async_trait>(
ctx: &'life0 mut ActorContext<Self>,
message: RegisterMessage,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
fn event_to_sink<'life0, 'async_trait>(
ctx: &'life0 mut ActorContext<Self>,
data: DataForSink,
event: Option<EventRequest>,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
fn publish_sink<'life0, 'async_trait>(
ctx: &'life0 mut ActorContext<Self>,
message: SinkDataMessage,
) -> Pin<Box<dyn Future<Output = Result<(), ActorError>> + Send + 'async_trait>>where
Self: Send + 'async_trait,
'life0: 'async_trait,
fn get_ledger<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 mut ActorContext<Self>,
lo_sn: Option<u64>,
hi_sn: u64,
) -> Pin<Box<dyn Future<Output = Result<(Vec<<Self as Actor>::Event>, bool), ActorError>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Auto Trait Implementations§
impl Freeze for Governance
impl RefUnwindSafe for Governance
impl Send for Governance
impl Sync for Governance
impl Unpin for Governance
impl UnsafeUnpin for Governance
impl UnwindSafe for Governance
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<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 more