Thunderbots Project
Loading...
Searching...
No Matches
network_sink.h
1#pragma once
2#include <fstream>
3#include <g3log/logmessage.hpp>
4#include <iostream>
5
6#include "proto/robot_log_msg.pb.h"
7#include "proto/visualization.pb.h"
8#include "software/logger/log_merger.h"
9#include "software/networking/udp/threaded_proto_udp_sender.hpp"
10
11
17{
18 public:
25 NetworkSink(int robot_id, bool enable_log_merging);
26
34 std::shared_ptr<ThreadedProtoUdpSender<TbotsProto::RobotLog>> new_sender);
35
42 void sendToNetwork(g3::LogMessageMover log_entry);
43
49 void sendOneLogToNetwork(const g3::LogMessage& log);
50
51 private:
52 int robot_id;
53 LogMerger log_merger;
54
55 std::mutex robot_log_sender_mutex;
56 std::optional<std::shared_ptr<ThreadedProtoUdpSender<TbotsProto::RobotLog>>>
57 robot_log_sender;
58};
Definition log_merger.h:13
Definition network_sink.h:17
void replaceUdpSender(std::shared_ptr< ThreadedProtoUdpSender< TbotsProto::RobotLog > > new_sender)
Definition network_sink.cpp:16
void sendOneLogToNetwork(const g3::LogMessage &log)
Definition network_sink.cpp:32
void sendToNetwork(g3::LogMessageMover log_entry)
Definition network_sink.cpp:23
Definition threaded_proto_udp_sender.hpp:12