1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*
    Appellation: actor
    Context: module
    Creator: FL03 <jo3mccain@icloud.com> (https://pzzld.eth.link/)
    Description:
        ... Summary ...
 */

pub trait ActorSpec {
    type Actor;
    type Client;
    type Configuration;
    type Data;

    fn authenticate(&self, client: Self::Client) -> Self::Client;
    fn configure(&self, configuration: Self::Configuration) -> Self::Configuration;
    fn constructor(&self) -> Self::Actor;
    fn datastream(&self, destination: String) -> Self::Data;
}