client version of coap

Dependencies:   nRF24L01P cantcoap3

Dependents:   client3

Committer:
Ka_myk
Date:
Fri Jan 18 14:12:24 2019 +0000
Revision:
0:6a6f97ca5572
Child:
1:1d936c763440
initial version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Ka_myk 0:6a6f97ca5572 1 //
Ka_myk 0:6a6f97ca5572 2 // Created by Kamil Mykitiuk on 2019-01-17.
Ka_myk 0:6a6f97ca5572 3 //
Ka_myk 0:6a6f97ca5572 4
Ka_myk 0:6a6f97ca5572 5 #ifndef COAPCLIENT_H
Ka_myk 0:6a6f97ca5572 6 #define COAPCLIENT_H
Ka_myk 0:6a6f97ca5572 7
Ka_myk 0:6a6f97ca5572 8
Ka_myk 0:6a6f97ca5572 9 #include <cstdint>
Ka_myk 0:6a6f97ca5572 10 #include <tic.h>
Ka_myk 0:6a6f97ca5572 11 #include "cantcoap.h"
Ka_myk 0:6a6f97ca5572 12 #include "radioWrapper.h"
Ka_myk 0:6a6f97ca5572 13
Ka_myk 0:6a6f97ca5572 14 class CoapClient {
Ka_myk 0:6a6f97ca5572 15 public:
Ka_myk 0:6a6f97ca5572 16 enum ERROR {
Ka_myk 0:6a6f97ca5572 17 SERVER_RESPONSE_AMBIGOUS = -1,
Ka_myk 0:6a6f97ca5572 18 SERVER_TIMED_OUT = -2,
Ka_myk 0:6a6f97ca5572 19 SMALL_BUFFER = -3,
Ka_myk 0:6a6f97ca5572 20 RADIO_NOT_WORKING = -4
Ka_myk 0:6a6f97ca5572 21 };
Ka_myk 0:6a6f97ca5572 22
Ka_myk 0:6a6f97ca5572 23 private:
Ka_myk 0:6a6f97ca5572 24 uint8_t token[4];
Ka_myk 0:6a6f97ca5572 25 uint16_t message_counter;
Ka_myk 0:6a6f97ca5572 26 int retransmissionLimit;
Ka_myk 0:6a6f97ca5572 27 RadioWrapper radioWrapper;
Ka_myk 0:6a6f97ca5572 28 int listeningTimeout;
Ka_myk 0:6a6f97ca5572 29
Ka_myk 0:6a6f97ca5572 30 public:
Ka_myk 0:6a6f97ca5572 31 CoapClient(uint8_t token[4], int retransmissionLimit, int timeout, RadioWrapper& radio);
Ka_myk 0:6a6f97ca5572 32
Ka_myk 0:6a6f97ca5572 33 int get(uint8_t buffer[], int len, char* uri);
Ka_myk 0:6a6f97ca5572 34
Ka_myk 0:6a6f97ca5572 35 int post(uint8_t buffer[], int len, char* uri);
Ka_myk 0:6a6f97ca5572 36
Ka_myk 0:6a6f97ca5572 37
Ka_myk 0:6a6f97ca5572 38 private:
Ka_myk 0:6a6f97ca5572 39 uint16_t preparePDU(CoapPDU& coapPDU);
Ka_myk 0:6a6f97ca5572 40
Ka_myk 0:6a6f97ca5572 41 bool isAck(CoapPDU& coapPDU, uint16_t message_id, char* uri);
Ka_myk 0:6a6f97ca5572 42
Ka_myk 0:6a6f97ca5572 43 int sendReset(uint16_t message_id);
Ka_myk 0:6a6f97ca5572 44 };
Ka_myk 0:6a6f97ca5572 45
Ka_myk 0:6a6f97ca5572 46 #endif //COAPCLIENT_H