replaced socket

This commit is contained in:
Erik Frojdh
2020-02-05 19:04:25 +01:00
parent c3bbe45b68
commit 89175586b4
9 changed files with 277 additions and 106 deletions

View File

@@ -26,6 +26,7 @@ target_link_libraries(udp
slsSupportLib
pthread
rt
fmt
)
set_target_properties(udp PROPERTIES

View File

@@ -1,13 +1,61 @@
#include "UdpSocket.h"
#include <iostream>
#include "UdpRxSocket.h"
#include "sls_detector_defs.h"
#include <chrono>
#include <fmt/format.h>
#include <iostream>
#include <thread>
int main(){
std::cout << "HEJ\n";
sls::UdpSocket s(50010, 1024);
#include "network_utils.h"
while(true){
std::cout << "Got: " << s.ReceivePacket() << " bytes\n";
std::this_thread::sleep_for(std::chrono::milliseconds(5));
}
// Assume packages arrive in order
// Assume frame nr starts from 0
using header_t = slsDetectorDefs::sls_detector_header;
int main() {
fmt::print("Hej!\n");
// constexpr ssize_t expected_packages = 128;
// constexpr ssize_t n_pixels = 512 * 1024;
constexpr ssize_t packet_size = 8240;
constexpr ssize_t payload_size = 8240 - sizeof(header_t);
int port = 50020;
// fmt::print("header size: {}\n", sizeof(header_t));
sls::UdpRxSocket s(port, packet_size, nullptr, 212992*2);
fmt::print("buffer: {}\n", s.getBufferSize());
s.setBufferSize(212992*4);
fmt::print("buffer: {}\n", s.getBufferSize());
// auto header = reinterpret_cast<header_t *>(s.buffer());
// char *data = s.buffer() + sizeof(header_t);
// fmt::print("buffer start: {}\nheader: {}\ndata: {}\n", fmt::ptr(s.buffer()),
// fmt::ptr(header), fmt::ptr(data));
// int n = 0;
// fmt::print("Buffer size: {}\n", s.buffer_size());
// std::vector<uint16_t> image(n_pixels);
// char *image_data = (char *)image.data();
// uint64_t frame_nr = 0;
// while (true) {
// if (s.ReceivePacket()) {
// // fmt::print("frame: {} pkt: {} dst: {}\n", header->frameNumber,
// // header->packetNumber, header->packetNumber*payload_size);
// if (header->frameNumber != frame_nr) {
// // dispatch frame
// fmt::print("frame {} done! got: {} pkgs\n", frame_nr, n);
// frame_nr = header->frameNumber;
// n = 0;
// std::this_thread::sleep_for(std::chrono::milliseconds(1));
// }
// ++n;
// memcpy(image_data + header->packetNumber * payload_size, data,
// payload_size);
// } else {
// std::cout << "timeout\n";
// }
// }
}