WPILibC++ 2024.3.2
nt::NetworkTableListenerPoller Class Referencefinal

Event polled listener. More...

#include <networktables/NetworkTableListener.h>

Public Member Functions

 NetworkTableListenerPoller ()=default
 
 NetworkTableListenerPoller (NetworkTableInstance inst)
 Construct a listener poller. More...
 
 NetworkTableListenerPoller (const NetworkTableListenerPoller &)=delete
 
NetworkTableListenerPolleroperator= (const NetworkTableListenerPoller &)=delete
 
 NetworkTableListenerPoller (NetworkTableListenerPoller &&rhs)
 
NetworkTableListenerPolleroperator= (NetworkTableListenerPoller &&rhs)
 
 ~NetworkTableListenerPoller ()
 
 operator bool () const
 
NT_ListenerPoller GetHandle () const
 Gets the native handle. More...
 
NT_Listener AddListener (std::span< const std::string_view > prefixes, unsigned int mask)
 Start listening to topic changes for topics with names that start with any of the given prefixes. More...
 
NT_Listener AddListener (Topic topic, unsigned int mask)
 Start listening to changes to a particular topic. More...
 
NT_Listener AddListener (Subscriber &subscriber, unsigned int mask)
 Start listening to topic changes on a subscriber. More...
 
NT_Listener AddListener (MultiSubscriber &subscriber, unsigned int mask)
 Start listening to topic changes on a subscriber. More...
 
NT_Listener AddListener (NetworkTableEntry &entry, unsigned int mask)
 Start listening to topic changes on an entry. More...
 
NT_Listener AddConnectionListener (bool immediate_notify)
 Add a connection listener. More...
 
NT_Listener AddTimeSyncListener (bool immediate_notify)
 Add a time synchronization listener. More...
 
NT_Listener AddLogger (unsigned int minLevel, unsigned int maxLevel)
 Add logger callback function. More...
 
void RemoveListener (NT_Listener listener)
 Remove a listener. More...
 
std::vector< EventReadQueue ()
 Read events. More...
 

Detailed Description

Event polled listener.

This queues events matching the specified mask. Code using the listener must periodically call ReadQueue() to read the events.

Constructor & Destructor Documentation

◆ NetworkTableListenerPoller() [1/4]

nt::NetworkTableListenerPoller::NetworkTableListenerPoller ( )
default

◆ NetworkTableListenerPoller() [2/4]

nt::NetworkTableListenerPoller::NetworkTableListenerPoller ( NetworkTableInstance  inst)
inlineexplicit

Construct a listener poller.

Parameters
instInstance

◆ NetworkTableListenerPoller() [3/4]

nt::NetworkTableListenerPoller::NetworkTableListenerPoller ( const NetworkTableListenerPoller )
delete

◆ NetworkTableListenerPoller() [4/4]

nt::NetworkTableListenerPoller::NetworkTableListenerPoller ( NetworkTableListenerPoller &&  rhs)
inline

◆ ~NetworkTableListenerPoller()

nt::NetworkTableListenerPoller::~NetworkTableListenerPoller ( )
inline

Member Function Documentation

◆ AddConnectionListener()

NT_Listener nt::NetworkTableListenerPoller::AddConnectionListener ( bool  immediate_notify)
inline

Add a connection listener.

The callback function is called asynchronously on a separate thread, so it's important to use synchronization or atomics when accessing any shared state from the callback function.

Parameters
immediate_notifynotify listener of all existing connections
Returns
Listener handle

◆ AddListener() [1/5]

NT_Listener nt::NetworkTableListenerPoller::AddListener ( MultiSubscriber subscriber,
unsigned int  mask 
)
inline

Start listening to topic changes on a subscriber.

This does NOT keep the subscriber active.

Parameters
subscriberSubscriber
maskBitmask of EventFlags values
Returns
Listener handle

◆ AddListener() [2/5]

NT_Listener nt::NetworkTableListenerPoller::AddListener ( NetworkTableEntry entry,
unsigned int  mask 
)
inline

Start listening to topic changes on an entry.

Parameters
entryEntry
maskBitmask of EventFlags values
Returns
Listener handle

◆ AddListener() [3/5]

NT_Listener nt::NetworkTableListenerPoller::AddListener ( std::span< const std::string_view prefixes,
unsigned int  mask 
)
inline

Start listening to topic changes for topics with names that start with any of the given prefixes.

This creates a corresponding internal subscriber with the lifetime of the listener.

Parameters
prefixesTopic name string prefixes
maskBitmask of EventFlags values
Returns
Listener handle

◆ AddListener() [4/5]

NT_Listener nt::NetworkTableListenerPoller::AddListener ( Subscriber subscriber,
unsigned int  mask 
)
inline

Start listening to topic changes on a subscriber.

This does NOT keep the subscriber active.

Parameters
subscriberSubscriber
maskBitmask of EventFlags values
Returns
Listener handle

◆ AddListener() [5/5]

NT_Listener nt::NetworkTableListenerPoller::AddListener ( Topic  topic,
unsigned int  mask 
)
inline

Start listening to changes to a particular topic.

This creates a corresponding internal subscriber with the lifetime of the listener.

Parameters
topicTopic
maskBitmask of EventFlags values
Returns
Listener handle

◆ AddLogger()

NT_Listener nt::NetworkTableListenerPoller::AddLogger ( unsigned int  minLevel,
unsigned int  maxLevel 
)
inline

Add logger callback function.

By default, log messages are sent to stderr; this function sends log messages with the specified levels to the provided callback function instead. The callback function will only be called for log messages with level greater than or equal to minLevel and less than or equal to maxLevel; messages outside this range will be silently ignored.

Parameters
minLevelminimum log level
maxLevelmaximum log level
Returns
Listener handle

◆ AddTimeSyncListener()

NT_Listener nt::NetworkTableListenerPoller::AddTimeSyncListener ( bool  immediate_notify)
inline

Add a time synchronization listener.

The callback function is called asynchronously on a separate thread, so it's important to use synchronization or atomics when accessing any shared state from the callback function.

Parameters
immediate_notifynotify listener of current time synchronization value
Returns
Listener handle

◆ GetHandle()

NT_ListenerPoller nt::NetworkTableListenerPoller::GetHandle ( ) const
inline

Gets the native handle.

Returns
Handle

◆ operator bool()

nt::NetworkTableListenerPoller::operator bool ( ) const
inlineexplicit

◆ operator=() [1/2]

NetworkTableListenerPoller & nt::NetworkTableListenerPoller::operator= ( const NetworkTableListenerPoller )
delete

◆ operator=() [2/2]

NetworkTableListenerPoller & nt::NetworkTableListenerPoller::operator= ( NetworkTableListenerPoller &&  rhs)
inline

◆ ReadQueue()

std::vector< Event > nt::NetworkTableListenerPoller::ReadQueue ( )
inline

Read events.

Returns
Events since the previous call to ReadQueue()

◆ RemoveListener()

void nt::NetworkTableListenerPoller::RemoveListener ( NT_Listener  listener)
inline

Remove a listener.

Parameters
listenerListener handle

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