Direct-BT v3.3.0-1-gc2d430c
Direct-BT - Direct Bluetooth Programming.
|
Our own pseudo opcode, indicating no ATT PDU message. More...
#include <ATTPDUTypes.hpp>
Public Member Functions | |
AttPDUUndefined (const uint8_t *source, const jau::nsize_t length) | |
std::string | getName () const noexcept override |
constexpr_cxx20 jau::nsize_t | getPDUValueOffset () const noexcept override |
Returns the octet offset to the value segment in this PDU including the mandatory opcode, i.e. More... | |
Public Member Functions inherited from direct_bt::AttPDUMsg | |
AttPDUMsg (AttPDUMsg &&o) noexcept=default | |
AttPDUMsg (const AttPDUMsg &o)=default | |
AttPDUMsg (const Opcode opc, const jau::nsize_t size) | |
Persistent memory, w/ ownership . More... | |
AttPDUMsg (const uint8_t *source, const jau::nsize_t size) | |
Persistent memory, w/ ownership . More... | |
virtual | ~AttPDUMsg () noexcept=default |
constexpr jau::nsize_t | getAuthSigSize () const noexcept |
ATT PDU Format Vol 3, Part F 3.3.1. More... | |
constexpr_cxx20 jau::nsize_t | getMaxPDUValueSize (const jau::nsize_t mtu) const noexcept |
Returns the theoretical maximum value size of a PDU's attribute value. More... | |
virtual std::string | getName () const noexcept |
constexpr bool | getOpAuthSigFlag () const noexcept |
ATT PDU Format Vol 3, Part F 3.3.1. More... | |
constexpr Opcode | getOpcode () const noexcept |
ATT PDU Format Vol 3, Part F 3.3.1. More... | |
constexpr bool | getOpCommandFlag () const noexcept |
ATT PDU Format Vol 3, Part F 3.3.1. More... | |
constexpr Opcode | getOpMethod () const noexcept |
ATT PDU Format Vol 3, Part F 3.3.1. More... | |
constexpr_cxx20 jau::nsize_t | getPDUMinSize () const noexcept |
Returns this PDU's minimum size, i.e. More... | |
constexpr jau::nsize_t | getPDUParamSize () const noexcept |
ATT PDU Format Vol 3, Part F 3.3.1. More... | |
virtual constexpr_cxx20 jau::nsize_t | getPDUValueOffset () const noexcept |
Returns the octet offset to the value segment in this PDU including the mandatory opcode, i.e. More... | |
constexpr_cxx20 jau::nsize_t | getPDUValueSize () const noexcept |
Returns the net octet size of this PDU's attributes value, i.e. More... | |
AttPDUMsg & | operator= (AttPDUMsg &&o) noexcept=delete |
AttPDUMsg & | operator= (const AttPDUMsg &o) noexcept=delete |
virtual std::string | toString () const noexcept |
Additional Inherited Members | |
Public Types inherited from direct_bt::AttPDUMsg | |
enum class | Opcode : uint8_t { PDU_UNDEFINED = 0x00 , METHOD_MASK = 0x3F , COMMAND_FLAG = 0x40 , AUTH_SIGNATURE_FLAG = 0x80 , ERROR_RSP = 0x01 , EXCHANGE_MTU_REQ = 0x02 , EXCHANGE_MTU_RSP = 0x03 , FIND_INFORMATION_REQ = 0x04 , FIND_INFORMATION_RSP = 0x05 , FIND_BY_TYPE_VALUE_REQ = 0x06 , FIND_BY_TYPE_VALUE_RSP = 0x07 , READ_BY_TYPE_REQ = 0x08 , READ_BY_TYPE_RSP = 0x09 , READ_REQ = 0x0A , READ_RSP = 0x0B , READ_BLOB_REQ = 0x0C , READ_BLOB_RSP = 0x0D , READ_MULTIPLE_REQ = 0x0E , READ_MULTIPLE_RSP = 0x0F , READ_BY_GROUP_TYPE_REQ = 0x10 , READ_BY_GROUP_TYPE_RSP = 0x11 , WRITE_REQ = 0x12 , WRITE_RSP = 0x13 , WRITE_CMD = WRITE_REQ + COMMAND_FLAG , PREPARE_WRITE_REQ = 0x16 , PREPARE_WRITE_RSP = 0x17 , EXECUTE_WRITE_REQ = 0x18 , EXECUTE_WRITE_RSP = 0x19 , READ_MULTIPLE_VARIABLE_REQ = 0x20 , READ_MULTIPLE_VARIABLE_RSP = 0x21 , MULTIPLE_HANDLE_VALUE_NTF = 0x23 , HANDLE_VALUE_NTF = 0x1B , HANDLE_VALUE_IND = 0x1D , HANDLE_VALUE_CFM = 0x1E , SIGNED_WRITE_CMD = WRITE_REQ + COMMAND_FLAG + AUTH_SIGNATURE_FLAG } |
ATT Opcode Summary Vol 3, Part F 3.4.8. More... | |
enum class | OpcodeType : uint8_t { UNDEFINED = 0 , REQUEST = 1 , RESPONSE = 2 , NOTIFICATION = 3 , INDICATION = 4 } |
enum class | ReqRespType : bool { REQUEST = true , RESPONSE = false } |
Static Public Member Functions inherited from direct_bt::AttPDUMsg | |
static constexpr OpcodeType | get_type (const Opcode rhs) noexcept |
static std::string | getOpcodeString (const Opcode opc) noexcept |
static std::unique_ptr< const AttPDUMsg > | getSpecialized (const uint8_t *buffer, jau::nsize_t const buffer_size) noexcept |
Return a newly created specialized instance pointer to base class. More... | |
static constexpr bool | is_request (const ReqRespType rhs) noexcept |
static constexpr uint8_t | number (const Opcode rhs) noexcept |
Public Attributes inherited from direct_bt::AttPDUMsg | |
jau::POctets | pdu |
actual received PDU More... | |
const uint64_t | ts_creation |
creation timestamp in milliseconds More... | |
Protected Member Functions inherited from direct_bt::AttPDUMsg | |
virtual std::string | baseString () const noexcept |
void | check_range () |
void | checkOpcode (const Opcode exp1, const Opcode exp2) const |
void | checkOpcode (const Opcode expected) const |
virtual std::string | valueString () const noexcept |
Our own pseudo opcode, indicating no ATT PDU message.
ATT_PDU_UNDEFINED
Definition at line 682 of file ATTPDUTypes.hpp.
|
inline |
Definition at line 685 of file ATTPDUTypes.hpp.
|
inlineoverridevirtualnoexcept |
Returns the octet offset to the value segment in this PDU including the mandatory opcode, i.e.
the number of octets until the first value octet.
Note that the ATT PDU value is part of the PDU param, where it is the last segment.
The value offset is ATT PDU specific and may point to the variable user data post handle etc within the PDU Param block.
Note that the opcode must be included in the implementation, as it may be used to reference the value in the pdu conveniently.
Reimplemented from direct_bt::AttPDUMsg.
Definition at line 690 of file ATTPDUTypes.hpp.
|
inlineoverridevirtualnoexcept |
Reimplemented from direct_bt::AttPDUMsg.
Definition at line 692 of file ATTPDUTypes.hpp.