From 09ac0f0f20e726cf96ef93ec1371e229ef24ee1c Mon Sep 17 00:00:00 2001 From: "Tristan B. Velloza Kildaire" Date: Wed, 13 Sep 2023 21:03:31 +0200 Subject: [PATCH] Packet - Defined `PAYLOAD_MARKER` as a global Package structure - Placed all packet-encoding related code into a `doap.protocol` sub-package --- source/doap/package.d | 7 +++---- source/doap/{ => protocol}/codes.d | 2 +- source/doap/protocol/package.d | 5 +++++ source/doap/{ => protocol}/packet.d | 16 ++++++++++------ source/doap/{ => protocol}/types.d | 2 +- 5 files changed, 20 insertions(+), 12 deletions(-) rename source/doap/{ => protocol}/codes.d (98%) create mode 100644 source/doap/protocol/package.d rename source/doap/{ => protocol}/packet.d (94%) rename source/doap/{ => protocol}/types.d (84%) diff --git a/source/doap/package.d b/source/doap/package.d index 31fd81e..a5b758c 100644 --- a/source/doap/package.d +++ b/source/doap/package.d @@ -1,6 +1,5 @@ module doap; -import doap.packet; -import doap.codes; -import doap.types; -import doap.exceptions; \ No newline at end of file +public import doap.protocol; + +public import doap.exceptions; \ No newline at end of file diff --git a/source/doap/codes.d b/source/doap/protocol/codes.d similarity index 98% rename from source/doap/codes.d rename to source/doap/protocol/codes.d index 11e85f1..feefba4 100644 --- a/source/doap/codes.d +++ b/source/doap/protocol/codes.d @@ -1,4 +1,4 @@ -module doap.codes; +module doap.protocol.codes; public enum Code : ubyte { diff --git a/source/doap/protocol/package.d b/source/doap/protocol/package.d new file mode 100644 index 0000000..baca100 --- /dev/null +++ b/source/doap/protocol/package.d @@ -0,0 +1,5 @@ +module doap.protocol; + +public import doap.protocol.packet : CoapPacket; +public import doap.protocol.codes : Code; +public import doap.protocol.types : MessageType; diff --git a/source/doap/packet.d b/source/doap/protocol/packet.d similarity index 94% rename from source/doap/packet.d rename to source/doap/protocol/packet.d index 81ad640..4a198cd 100644 --- a/source/doap/packet.d +++ b/source/doap/protocol/packet.d @@ -1,9 +1,14 @@ -module doap.packet; +module doap.protocol.packet; -import doap.types : MessageType; -import doap.codes : Code; +import doap.protocol.types : MessageType; +import doap.protocol.codes : Code; import doap.exceptions : CoapException; +/** + * Payload marker + */ +private ubyte PAYLOAD_MARKER = cast(ubyte)-1; + /** * Represents a CoAP packet */ @@ -64,7 +69,7 @@ public class CoapPacket // FIXME: Add options encoding // Set the payload marker - encoded ~= cast(ubyte)-1; + encoded ~= PAYLOAD_MARKER; // Set the payload encoded ~= payload; @@ -206,8 +211,7 @@ unittest // Ensure the payload marker is here ubyte seventhByte = encoded[6]; - ubyte payloadMarker = cast(ubyte)-1; - assert(seventhByte == payloadMarker); + assert(seventhByte == PAYLOAD_MARKER); // Ensure the payload is [255, 254] // FIXME: Offset because of options later diff --git a/source/doap/types.d b/source/doap/protocol/types.d similarity index 84% rename from source/doap/types.d rename to source/doap/protocol/types.d index 2882a30..43f179e 100644 --- a/source/doap/types.d +++ b/source/doap/protocol/types.d @@ -1,4 +1,4 @@ -module doap.types; +module doap.protocol.types; public enum MessageType : ubyte {