Module action

Module action 

Expand description

§Action

§Relations of important traits, enums and structs.

An action in the system is initially an UncodedAction that contains rich information about the action in a specific component. It is then encoded by an ActionEncoder into a CodedAction with an explanation of the action type.

                                UncodedAction                                   
                     +----------------+-----------------+                       
                     v                v                 v                       
ActionType:    AclActionType    FwdActionType    XXXActionType                  
(All enums)          |                |                 |                       
                     v                v                 v                       
                   +--------------------------------------+                     
                   |            ActionEncoder             |                     
                   +------------------+-------------------+                     
                                      v                                         
                                CodedAction               impls Action<Single>  
                             (Primitive types)                                  
                             +--------+--------+                                
                             v                 v                                
                            Vec           TreeActions (todo)    impls Action<Multiple>
                                          (MerkleTree)                         

Modules§

acl
fwd
ib
seq_action
tree_action

Structs§

Multiple
Multiple means the action is multi-dimensional, e.g. a sequence of actions.
Single
Single means the action is one-dimensional, e.g., one forwarding action from a port.

Traits§

Action
Action trait represents an action of desired dimension. Use type parameter to distinguish the dimension of action.
ActionEncoder
Encoder and decoder between UncodedAction and CodedAction.
ActionType
Actions
Container of multiple actions.
CodedAction
Encoded, compact and opaque action.
Dimension
An empty trait that represents the type of action.
UncodedAction
Unencoded action on a specific device.