Skip to main content

Crate rtlp_lib

Crate rtlp_lib 

Source

Structs§

CompletionReqDW23
ConfigRequest
MemRequest3DW
MemRequest4DW
MessageReqDW24
TlpPacket
TLP Packet structure is high level abstraction for entire TLP packet Contains Header and Data
TlpPacketHeader
TLP Packet Header Contains bytes for Packet header and informations about TLP type

Enums§

AtomicOp
Atomic operation discriminant
AtomicWidth
Operand width — derived from TLP format: 3DW → 32-bit, 4DW → 64-bit
TlpError
Errors that can occur when parsing TLP packets
TlpFmt
TlpFormatEncodingType
TlpType

Traits§

AtomicRequest
Atomic Request trait: header fields and operand(s) for atomic op TLPs. Use new_atomic_req() to obtain a trait object from raw packet bytes.
CompletionRequest
Completion Request Trait Completions are always 3DW (for with data (fmt = b010) and without data (fmt = b000) ) This trait is provided to have same API as other headers with variable size To obtain this trait new_cmpl_req() function has to be used Trait release user from dealing with bitfield structures.
ConfigurationRequest
Configuration Request Trait: Configuration Requests Headers are always same size (3DW), this trait is provided to have same API as other headers with variable size
MemRequest
Memory Request Trait: Applies to 32 and 64 bits requests as well as legacy IO-Request (Legacy IO Request has the same structure as MemRead3DW) Software using the library may want to use trait instead of bitfield structures Both 3DW (32-bit) and 4DW (64-bit) headers implement this trait 3DW header is also used for all Legacy IO Requests.
MessageRequest
Message Request trait Provide method to access fields in DW2-4 header is handled by TlpHeader

Functions§

new_atomic_req
Parse an atomic TLP request from a TlpPacket.
new_cmpl_req
Obtain Completion Request dyn Trait:
new_conf_req
Obtain Configuration Request trait from bytes in vector as dyn
new_mem_req
Obtain Memory Request trait from bytes in vector as dyn This is preffered way of dealing with TLP headers as exact format (32/64 bits) is not required
new_msg_req
Obtain Message Request dyn Trait: