Expand description
§dataport
SysML v2 like thread-safe port abstractions, distinguishing between in (reader), inout (reader/writer) and out (writer) ports.
It also provides a set of macros to help with creation of ports and port lists.
It supports both std and no_std environments (requires alloc).
§License
Licensed with the fair use “NGMC” license, see license file
§Contribution
Any contribution intentionally submitted for inclusion in the work by you, shall be licensed with the same “NGMC” license, without any additional terms or conditions.
Modules§
Macros§
- create_
inbound_ entry - Creates a name/inbound_port pair.
- create_
inbound_ entry_ parseable - Creates a name/inbound_port pair with a parseable data type.
- create_
inoutbound_ entry - Creates a name/inoutbound_port pair.
- create_
inoutbound_ entry_ parseable - Creates a name/inoutbound_port pair with a parseable data type.
- create_
outbound_ entry - Creates a name/outbound_port pair.
- create_
outbound_ entry_ parseable - Creates a name/outbound_port pair with a parseable data type.
- create_
port_ array - Creates an array of ports.
- create_
port_ map - Creates a map of ports.
- create_
port_ vec - Creates a list of ports.
Structs§
- Bound
Value Read Guard - Read-Locked port value guard. Until this value is dropped, a read lock is held on the ports value.
- Bound
Value Write Guard - Write-Locked port value guard. Until this value is dropped, a write lock is held on the ports value.
- Empty
Port Array - A thread-safe wrapper for
PortArray<0>that allows shared&mutaccess. - InBound
- @TODO:
- InOut
Bound - @TODO:
- OutBound
- @TODO:
- Port
Array - A fixed unsorted array of
PortVariants. - PortMap
- An extendable sorted map of
PortVariants. - PortVec
- An extendable unsorted list of
PortVariants.
Enums§
- Error
- Port errors.
- Port
Variant - Implemented set of port variants.
Statics§
- EMPTY_
PORT_ ARRAY - An empty port array to provide a port collection for items without ports which use the traits. Using a single instance reduces memory footprint.
Traits§
- AnyPort
Value - The
AnyPortValuetrait allows to use different types of values in ports. - Bind
Commons - Trait for bind port types.
- BindIn
- Trait for incoming bind port types.
- Bind
InOut - Trait for incoming and outgoing bind port types.
- BindOut
- Trait for outgoing bind port types.
- Port
Collection - Methods for something that is a collection of ports. Each port is identified by its name, so the name has to be unique within a certain port collection.
- Port
Collection Accessors - Access methods for port collections. Each port is identified by its name, so the name has to be unique within a certain port collection.
- Port
Collection Accessors Common - Common access methods for port collections. Each port is identified by its name, so the name has to be unique within a certain port collection.
- Port
Collection Mut - Methods for something that is a mutable collection of ports. Each port is identified by its name, so the name has to be unique within a certain port collection.
- Port
Collection Provider - Trait for something that provides a collection of Ports.
- Port
Collection Provider Mut - Trait for something that provides a mutable collection of Ports.
- Port
Commons - Port
List - Object safe combination of PortCollection & PortCollectionAccessorsCommon
Functions§
- is_
port_ collection_ pointer - Checks whether the given name is a pointer into a port
collection. - is_
valid_ port_ name - Returns
trueif a name is a valid port name, otherwisefalse. Valid port names