Thunderbots Project
Loading...
Searching...
No Matches
NetworkSink Class Reference

#include <network_sink.h>

Public Member Functions

 NetworkSink (int robot_id, bool enable_log_merging)
 
void replaceUdpSender (std::shared_ptr< ThreadedProtoUdpSender< TbotsProto::RobotLog > > new_sender)
 
void sendToNetwork (g3::LogMessageMover log_entry)
 
void sendOneLogToNetwork (const g3::LogMessage &log)
 

Detailed Description

This class acts as a custom sink for g3log. In particular, it allows us to log to multicast channels from robots

Constructor & Destructor Documentation

◆ NetworkSink()

NetworkSink ( int  robot_id,
bool  enable_log_merging 
)

Creates a NetworkSink that sends UDP packets.

Parameters
robot_idid of the robot sending the logs
enable_log_mergingWhether to merge repeated log message or not

Member Function Documentation

◆ replaceUdpSender()

void replaceUdpSender ( std::shared_ptr< ThreadedProtoUdpSender< TbotsProto::RobotLog > >  new_sender)

Replaces the underlying UDP sender with a new one. Intended to be used when a new Full-System node is connected.

Parameters
new_senderthe new UDP sender to use

◆ sendOneLogToNetwork()

void sendOneLogToNetwork ( const g3::LogMessage &  log)

Send a single log to the network, without merging.

Parameters
logthe LogMessage to send

◆ sendToNetwork()

void sendToNetwork ( g3::LogMessageMover  log_entry)

This function is called on every call to LOG(). It sends a RobotLog proto on the network and merges repeated messages.

Parameters
log_entrythe message received on a LOG() call

The documentation for this class was generated from the following files: