// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef PLATFORM_API_UDP_SOCKET_H_ #define PLATFORM_API_UDP_SOCKET_H_ #include <stddef.h> // size_t #include <stdint.h> // uint8_t #include <memory> #include "platform/api/network_interface.h" #include "platform/base/error.h" #include "platform/base/ip_address.h" #include "platform/base/span.h" #include "platform/base/udp_packet.h" namespace openscreen { class TaskRunner; // An open UDP socket for sending/receiving datagrams to/from either specific // endpoints or over IP multicast. // // Usage: The socket is created and opened by calling the Create() method. This // returns a unique pointer that auto-closes/destroys the socket when it goes // out-of-scope. class UdpSocket { … }; } // namespace openscreen #endif // PLATFORM_API_UDP_SOCKET_H_