19class MulticastServiceResolver {
22 ~MulticastServiceResolver() noexcept;
24 unsigned int ipv4Address;
26 std::string serviceName;
28 std::vector<std::pair<std::string, std::string>> txt;
33 std::vector<ServiceData> GetData() {
34 std::scoped_lock lock{
mutex};
39 std::vector<ServiceData> ret;
43 bool HasImplementation()
const;
47 void PushData(ServiceData&&
data) {
48 std::scoped_lock lock{
mutex};
49 queue.emplace_back(std::forward<ServiceData>(
data));
52 wpi::Event
event{
true};
53 std::vector<ServiceData> queue;
55 std::unique_ptr<Impl> pImpl;
64 const char* serviceType);
unsigned int WPI_MulticastServiceResolverHandle
Definition: MulticastServiceResolver.h:61
void WPI_StopMulticastServiceResolver(WPI_MulticastServiceResolverHandle handle)
void WPI_FreeMulticastServiceResolver(WPI_MulticastServiceResolverHandle handle)
WPI_MulticastServiceResolverHandle WPI_CreateMulticastServiceResolver(const char *serviceType)
void WPI_StartMulticastServiceResolver(WPI_MulticastServiceResolverHandle handle)
WPI_EventHandle WPI_GetMulticastServiceResolverEventHandle(WPI_MulticastServiceResolverHandle handle)
int32_t WPI_GetMulticastServiceResolverHasImplementation(WPI_MulticastServiceResolverHandle handle)
struct WPI_ServiceData WPI_ServiceData
void WPI_FreeServiceData(WPI_ServiceData *serviceData, int32_t length)
WPI_ServiceData * WPI_GetMulticastServiceResolverData(WPI_MulticastServiceResolverHandle handle, int32_t *dataCount)
WPI_Handle WPI_EventHandle
An event handle.
Definition: Synchronization.h:25
basic_string_view< char > string_view
Definition: core.h:520
::uint32_t uint32_t
Definition: Meta.h:56
::int32_t int32_t
Definition: Meta.h:57
/file This file defines the SmallVector class.
Definition: AprilTagFieldLayout.h:18
::std::mutex mutex
Definition: mutex.h:17
Definition: MulticastServiceResolver.h:81
const char ** txtValues
Definition: MulticastServiceResolver.h:88
uint32_t ipv4Address
Definition: MulticastServiceResolver.h:82
const char * hostName
Definition: MulticastServiceResolver.h:85
int32_t txtCount
Definition: MulticastServiceResolver.h:86
const char ** txtKeys
Definition: MulticastServiceResolver.h:87
const char * serviceName
Definition: MulticastServiceResolver.h:84
int32_t port
Definition: MulticastServiceResolver.h:83
Definition: format.h:1544