55DuckNet::DuckNet (BloomFilter *filter): bloomFilter(filter) {
66}
77
8- CircularBuffer atakBuffer = CircularBuffer(CDPCFG_CDP_CHATBUF_SIZE);
8+ CircularBuffer atakMessageBuffer = CircularBuffer(CDPCFG_CDP_CHATBUF_SIZE);
99
1010#ifndef CDPCFG_WIFI_NONE
1111
@@ -152,46 +152,46 @@ int DuckNet::setupWebServer(bool createCaptivePortal, std::string html) {
152152 }
153153 });
154154
155- webServer.on (" /sendAtakMessage.json" , HTTP_POST, [&](AsyncWebServerRequest* request) {
156- int err = DUCK_ERR_NONE;
157-
158- std::vector<byte> message;
159- std::string clientId = " " ;
160-
161- const AsyncWebParameter* p = request->getParam (0 );
162- std::string msg = p->value ().c_str ();
163- message.insert (message.end (), msg.begin (), msg.end ());
164- std::vector<byte> muid;
165-
166- txPacket->prepareForSending (bloomFilter, BROADCAST_DUID, DuckType::UNKNOWN, topics::achat, message);
167- auto atakPacket = txPacket->getBuffer (); // TODO: no auto
168-
169- addToAtakBuffer (CdpPacket (atakPacket));
170- err = duckRadio.sendData (atakPacket);
171-
172- switch (err) {
173- case DUCK_ERR_NONE:
174- {
175- loginfo_ln (" success sending packer" );
176- request->send (200 , " text/html" , " OK." );
177- }
178- break ;
179- case DUCKLORA_ERR_MSG_TOO_LARGE:
180- request->send (413 , " text/html" , " Message payload too big!" );
181- break ;
182- case DUCKLORA_ERR_HANDLE_PACKET:
183- request->send (400 , " text/html" , " BadRequest" );
184- break ;
185- default :
186- request->send (500 , " text/html" , " Oops! Unknown error." );
187- break ;
188- }
189- });
155+ // webServer.on("/sendAtakMessage.json", HTTP_POST, [&](AsyncWebServerRequest* request) {
156+ // int err = DUCK_ERR_NONE;
157+
158+ // std::vector<byte> message;
159+ // std::string clientId = "";
160+
161+ // const AsyncWebParameter* p = request->getParam(0);
162+ // std::string msg = p->value().c_str();
163+ // message.insert(message.end(), msg.begin(), msg.end());
164+ // std::vector<byte> muid;
165+
166+ // txPacket->prepareForSending(bloomFilter, BROADCAST_DUID, DuckType::UNKNOWN, topics::achat, message);
167+ // auto atakPacket = txPacket->getBuffer(); //TODO: no auto
168+
169+ // addToAtakBuffer(CdpPacket(atakPacket));
170+ // err = duckRadio.sendData(atakPacket);
171+
172+ // switch (err) {
173+ // case DUCK_ERR_NONE:
174+ // {
175+ // loginfo_ln("success sending packer");
176+ // request->send(200, "text/html", "OK.");
177+ // }
178+ // break;
179+ // case DUCKLORA_ERR_MSG_TOO_LARGE:
180+ // request->send(413, "text/html", "Message payload too big!");
181+ // break;
182+ // case DUCKLORA_ERR_HANDLE_PACKET:
183+ // request->send(400, "text/html", "BadRequest");
184+ // break;
185+ // default:
186+ // request->send(500, "text/html", "Oops! Unknown error.");
187+ // break;
188+ // }
189+ // });
190190
191191 webServer.on (" /atakHistory" , HTTP_GET, [&](AsyncWebServerRequest* request) {
192192 size_t atakSize;
193193
194- uint8_t * atakBytes = DuckNet::serializeAtakHistoryToBytes (&atakBuffer , &atakSize);
194+ uint8_t * atakBytes = DuckNet::serializeAtakHistoryToBytes (&atakMessageBuffer , &atakSize);
195195
196196 // std::shared_ptr<uint8_t> atakData(atakBytes, [](uint8_t* p) { delete[] p; });
197197
@@ -203,8 +203,7 @@ int DuckNet::setupWebServer(bool createCaptivePortal, std::string html) {
203203});
204204
205205 webServer.on (" /atakChatHistory" , HTTP_GET, [&](AsyncWebServerRequest* request){
206- loginfo_ln (" this is what should be called in captive portal" );
207- std::string response = DuckNet::serializeAtakHistoryToJSON (&atakBuffer);
206+ std::string response = DuckNet::serializeAtakHistoryToJSON (&atakMessageBuffer);
208207 const char * res = response.c_str ();
209208 request->send (200 , " text/json" , res);
210209 });
@@ -357,10 +356,14 @@ int DuckNet::setupInternet(std::string ssid, std::string password)
357356
358357}
359358
360- void DuckNet::addToAtakBuffer (CdpPacket message) {
361- if (atakBuffer.findMuid (message.muid ) < 0 ){
362- message.timeReceived = millis ();
363- atakBuffer.push (message);
359+ void DuckNet::addToAtakBuffer (std::vector<byte> message) {
360+ txPacket->prepareForSending (bloomFilter, BROADCAST_DUID, DuckType::UNKNOWN, topics::achat, message);
361+ auto atakBuffer = txPacket->getBuffer (); // TODO: no auto
362+ CdpPacket atakPacket (atakBuffer);
363+
364+ if (atakMessageBuffer.findMuid (atakPacket.muid ) < 0 ){
365+ atakPacket.timeReceived = millis ();
366+ atakMessageBuffer.push (atakPacket);
364367 loginfo_ln (" pushed new packet to buffer" );
365368 }
366369}
0 commit comments