9#ifndef UA_PUBSUB_NETWORKMESSAGE_H_
10#define UA_PUBSUB_NETWORKMESSAGE_H_
17#ifdef UA_ENABLE_PUBSUB
21#define UA_NETWORKMESSAGE_MAX_NONCE_LENGTH 16
210#ifdef UA_ENABLE_PUBSUB_ENCRYPTION
251 size_t currentOffset);
304#ifdef UA_ENABLE_PUBSUB_ENCRYPTION
308 UA_PubSubSecurityPolicy *policy,
void *policyContext,
316#ifdef UA_ENABLE_JSON_ENCODING
320 size_t namespaceSize,
UA_String *serverUris,
321 size_t serverUriSize,
UA_Boolean useReversible);
325 UA_String *namespaces,
size_t namespaceSize,
326 UA_String *serverUris,
size_t serverUriSize,
#define _UA_BEGIN_DECLS
#undef UA_DEBUG_DUMP_PKGS
UA_PublisherIdType
Valid PublisherId types from Part 14.
UA_DataSetMessage_DeltaFrameField * deltaFrameFields
UA_DataValue * dataSetFields
UA_DataSetMetaDataType * dataSetMetaDataType
UA_DataSetMessageHeader header
UA_DataSetMessage_DataDeltaFrameData deltaFrameData
UA_DataSetMessage_DataKeyFrameData keyFrameData
UA_DataSetMessage * dataSetMessages
Datatype arrays with custom type definitions can be added in a linked list to the client or server co...
UA_NetworkMessageOffset * offsets
UA_DataValue ** externalValue
UA_NetworkMessageOffsetType contentType
UA_NetworkMessageSecurityHeader securityHeader
UA_Variant * promotedFields
UA_PublisherId publisherId
UA_Boolean messageIdEnabled
UA_Boolean payloadHeaderEnabled
UA_NetworkMessageType networkMessageType
UA_Boolean publisherIdEnabled
UA_Boolean promotedFieldsEnabled
UA_Boolean dataSetClassIdEnabled
UA_DataSetPayloadHeader dataSetPayloadHeader
UA_Boolean groupHeaderEnabled
UA_Boolean timestampEnabled
UA_Boolean picosecondsEnabled
UA_Boolean securityEnabled
UA_NetworkMessageGroupHeader groupHeader
UA_ByteString securityFooter
UA_DataSetPayload dataSetPayload
UA_UInt16 promotedFieldsSize
UA_PublisherIdType publisherIdType
_UA_BEGIN_DECLS typedef bool UA_Boolean
This Source Code Form is subject to the terms of the Mozilla Public License, v.
UA_MessageSecurityMode
MessageSecurityMode.
UA_DateTime UA_UtcTime
UtcTime.
UA_StatusCode UA_NetworkMessage_updateBufferedNwMessage(UA_NetworkMessageOffsetBuffer *buffer, const UA_ByteString *src, size_t *bufferPosition)
UA_StatusCode UA_DataSetMessage_decodeBinary(const UA_ByteString *src, size_t *offset, UA_DataSetMessage *dst, UA_UInt16 dsmSize, const UA_DataTypeArray *customTypes, UA_DataSetMetaDataType *dsm)
void UA_NetworkMessage_clear(UA_NetworkMessage *p)
UA_StatusCode UA_NetworkMessage_updateBufferedMessage(UA_NetworkMessageOffsetBuffer *buffer)
UA_StatusCode UA_DataSetMessage_encodeBinary(const UA_DataSetMessage *src, UA_Byte **bufPos, const UA_Byte *bufEnd)
UA_StatusCode UA_NetworkMessage_decodePayload(const UA_ByteString *src, size_t *offset, UA_NetworkMessage *dst, const UA_DataTypeArray *customTypes, UA_DataSetMetaDataType *dsm)
UA_StatusCode UA_NetworkMessage_decodeFooters(const UA_ByteString *src, size_t *offset, UA_NetworkMessage *dst)
UA_StatusCode UA_NetworkMessage_encodeHeaders(const UA_NetworkMessage *src, UA_Byte **bufPos, const UA_Byte *bufEnd)
UA_StatusCode UA_DataSetMessageHeader_encodeBinary(const UA_DataSetMessageHeader *src, UA_Byte **bufPos, const UA_Byte *bufEnd)
UA_FieldEncoding
FieldEncoding Enum
@ UA_FIELDENCODING_RAWDATA
@ UA_FIELDENCODING_UNKNOWN
@ UA_FIELDENCODING_DATAVALUE
@ UA_FIELDENCODING_VARIANT
UA_StatusCode UA_NetworkMessage_encodeBinary(const UA_NetworkMessage *src, UA_Byte **bufPos, const UA_Byte *bufEnd, UA_Byte **dataToEncryptStart)
If dataToEncryptStart not-NULL, then it will be set to the start-position of the payload in the buffe...
void UA_DataSetMessage_clear(UA_DataSetMessage *p)
size_t UA_NetworkMessage_calcSizeBinary(UA_NetworkMessage *p, UA_NetworkMessageOffsetBuffer *offsetBuffer)
Also stores the offset if offsetBuffer != NULL.
UA_StatusCode UA_NetworkMessage_decodeHeaders(const UA_ByteString *src, size_t *offset, UA_NetworkMessage *dst)
UA_StatusCode UA_NetworkMessage_encodePayload(const UA_NetworkMessage *src, UA_Byte **bufPos, const UA_Byte *bufEnd)
UA_NetworkMessageOffsetType
Network Message Offsets
@ UA_PUBSUB_OFFSETTYPE_TIMESTAMP_NOW
@ UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_SEQUENCENUMBER
@ UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE
@ UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT_EXTERNAL
@ UA_PUBSUB_OFFSETTYPE_DATASETWRITERID
@ UA_PUBSUB_OFFSETTYPE_NETWORKMESSAGE_FIELDENCDODING
@ UA_PUBSUB_OFFSETTYPE_TIMESTAMP
@ UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW
@ UA_PUBSUB_OFFSETTYPE_PAYLOAD_VARIANT
@ UA_PUBSUB_OFFSETTYPE_DATASETMESSAGE_SEQUENCENUMBER
@ UA_PUBSUB_OFFSETTYPE_PUBLISHERID
@ UA_PUBSUB_OFFSETTYPE_PAYLOAD_DATAVALUE_EXTERNAL
@ UA_PUBSUB_OFFSETTYPE_WRITERGROUPID
@ UA_PUBSUB_OFFSETTYPE_PAYLOAD_RAW_EXTERNAL
@ UA_PUBSUB_OFFSETTYPE_TIMESTAMP_PICOSECONDS
size_t UA_DataSetMessage_calcSizeBinary(UA_DataSetMessage *p, UA_NetworkMessageOffsetBuffer *offsetBuffer, size_t currentOffset)
void UA_NetworkMessageOffsetBuffer_clear(UA_NetworkMessageOffsetBuffer *nmob)
UA_StatusCode UA_NetworkMessage_decodeBinary(const UA_ByteString *src, size_t *offset, UA_NetworkMessage *dst, const UA_DataTypeArray *customTypes)
@ UA_NETWORKMESSAGE_DISCOVERY_RESPONSE
@ UA_NETWORKMESSAGE_DATASET
@ UA_NETWORKMESSAGE_DISCOVERY_REQUEST
UA_StatusCode UA_DataSetMessageHeader_decodeBinary(const UA_ByteString *src, size_t *offset, UA_DataSetMessageHeader *dst)
UA_DataSetMessageType
DataSetMessage Type.
@ UA_DATASETMESSAGE_KEEPALIVE
@ UA_DATASETMESSAGE_DATAKEYFRAME
@ UA_DATASETMESSAGE_DATADELTAFRAME
@ UA_DATASETMESSAGE_EVENT
UA_StatusCode UA_NetworkMessageHeader_decodeBinary(const UA_ByteString *src, size_t *offset, UA_NetworkMessage *dst)
UA_StatusCode UA_NetworkMessage_encodeFooters(const UA_NetworkMessage *src, UA_Byte **bufPos, const UA_Byte *bufEnd)
#define UA_NETWORKMESSAGE_MAX_NONCE_LENGTH
This Source Code Form is subject to the terms of the Mozilla Public License, v.
Publisher Id Valid types are defined in Part 14, 7.2.2.2.2 NetworkMessage Layout: