// // UDPServerParams.h // // Library: Net // Package: UDP // Module: UDPServerParams // // Definition of the UDPServerParams class. // // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. // and Contributors. // // SPDX-License-Identifier: BSL-1.0 // #ifndef Net_UDPServerParams_INCLUDED #define Net_UDPServerParams_INCLUDED #include "Poco/Net/Net.h" #include "Poco/Net/SocketAddress.h" #include "Poco/Timespan.h" namespace Poco { namespace Net { class Net_API UDPServerParams /// A class encapsulating UDP server parameters. { public: UDPServerParams(const Poco::Net::SocketAddress& sa, int nSockets = 10, Poco::Timespan timeout = 250000, std::size_t handlerBufListSize = 1000, bool notifySender = false, int backlogThreshold = 10); /// Creates UDPServerParams. ~UDPServerParams(); /// Destroys UDPServerParams. const Poco::Net::SocketAddress& address() const; /// Returns the server address. Poco::Timespan timeout() const; /// Returns polling timeout. int numberOfSockets() const; /// Returns nuber of sockets for the server. std::size_t handlerBufListSize() const; /// Returns the number of handler buffers allocated /// before buffers start being reused. bool notifySender() const; /// Returns the flag inidcating whether server /// should send notifications back to the client. int backlogThreshold() const; /// Size of mesage or error backlogs at which server /// reports backlogs back to the client. Only meaningful /// if notifySender() is true. private: UDPServerParams(); Poco::Net::SocketAddress _sa; int _nSockets; Poco::Timespan _timeout; std::size_t _handlerBufListSize; bool _notifySender; int _backlogThreshold; }; // // inlines // inline const Poco::Net::SocketAddress& UDPServerParams::address() const { return _sa; } inline int UDPServerParams::numberOfSockets() const { return _nSockets; } inline Poco::Timespan UDPServerParams::timeout() const { return _timeout; } inline std::size_t UDPServerParams::handlerBufListSize() const { return _handlerBufListSize; } inline bool UDPServerParams::notifySender() const { return _notifySender; } inline int UDPServerParams::backlogThreshold() const { return _backlogThreshold; } } } // namespace Poco::Net #endif // Net_UDPServerParams_INCLUDED