- Defined `PAYLOAD_MARKER` as a global

Package structure

- Placed all packet-encoding related code into a `doap.protocol` sub-package
This commit is contained in:
Tristan B. Velloza Kildaire 2023-09-13 21:03:31 +02:00
parent 5a203ba69a
commit 09ac0f0f20
5 changed files with 20 additions and 12 deletions

View File

@ -1,6 +1,5 @@
module doap; module doap;
import doap.packet; public import doap.protocol;
import doap.codes;
import doap.types; public import doap.exceptions;
import doap.exceptions;

View File

@ -1,4 +1,4 @@
module doap.codes; module doap.protocol.codes;
public enum Code : ubyte public enum Code : ubyte
{ {

View File

@ -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;

View File

@ -1,9 +1,14 @@
module doap.packet; module doap.protocol.packet;
import doap.types : MessageType; import doap.protocol.types : MessageType;
import doap.codes : Code; import doap.protocol.codes : Code;
import doap.exceptions : CoapException; import doap.exceptions : CoapException;
/**
* Payload marker
*/
private ubyte PAYLOAD_MARKER = cast(ubyte)-1;
/** /**
* Represents a CoAP packet * Represents a CoAP packet
*/ */
@ -64,7 +69,7 @@ public class CoapPacket
// FIXME: Add options encoding // FIXME: Add options encoding
// Set the payload marker // Set the payload marker
encoded ~= cast(ubyte)-1; encoded ~= PAYLOAD_MARKER;
// Set the payload // Set the payload
encoded ~= payload; encoded ~= payload;
@ -206,8 +211,7 @@ unittest
// Ensure the payload marker is here // Ensure the payload marker is here
ubyte seventhByte = encoded[6]; ubyte seventhByte = encoded[6];
ubyte payloadMarker = cast(ubyte)-1; assert(seventhByte == PAYLOAD_MARKER);
assert(seventhByte == payloadMarker);
// Ensure the payload is [255, 254] // Ensure the payload is [255, 254]
// FIXME: Offset because of options later // FIXME: Offset because of options later

View File

@ -1,4 +1,4 @@
module doap.types; module doap.protocol.types;
public enum MessageType : ubyte public enum MessageType : ubyte
{ {