#ifndef Retransmit_h
#define Retransmit_h
#include "Energia.h"
#define RiceCncMaxPacketSize 1024
#define MaxPayloadSize RiceCncMaxPacketSize - 8
struct MyPacket {
uint8_t version;
uint8_t messageCount;
uint8_t sequence;
uint8_t ack;
uint32_t ackBitField;
char payload[ MaxPayloadSize ];
MyPacket() { // define initializer
version = 1; // version 0 is reset
messageCount = 0;
sequence = 0;
ack = 0;
ackBitField = 0;
payload[ 0 ] = 0; }; };
#define PacketHeaderSize 8
class Retransmit {
private:
public:
Retransmit();
uint32_t retransmissions;
uint32_t microSeconds; // transmissionTime
uint32_t payloadLength; // bytes
MyPacket packet;
bool
expired();
void
sendDebug();
bool
addMessage( String* msgPtr );
size_t
capacity();
};
#endif