- 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;
import doap.packet;
import doap.codes;
import doap.types;
import doap.exceptions;
public import doap.protocol;
public import doap.exceptions;

View File

@ -1,4 +1,4 @@
module doap.codes;
module doap.protocol.codes;
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.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

View File

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