4 // Fraunhofer Institute for Open Communication Systems (FOKUS)
6 // The contents of this file are subject to the Fraunhofer FOKUS Public License
7 // Version 1.0 (the "License"); you may not use this file except in compliance
8 // with the License. You may obtain a copy of the License at
9 // http://senf.berlios.de/license.html
11 // The Fraunhofer FOKUS Public License Version 1.0 is based on,
12 // but modifies the Mozilla Public License Version 1.1.
13 // See the full license text for the amendments.
15 // Software distributed under the License is distributed on an "AS IS" basis,
16 // WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
17 // for the specific language governing rights and limitations under the License.
19 // The Original Code is Fraunhofer FOKUS code.
21 // The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V.
22 // (registered association), Hansastraße 27 c, 80686 Munich, Germany.
23 // All Rights Reserved.
26 // Stefan Bund <g0dil@berlios.de>
29 \brief DatagramSocketProtocol public header */
31 #ifndef HH_SENF_Socket_Protocols_DatagramSocketProtocol_
32 #define HH_SENF_Socket_Protocols_DatagramSocketProtocol_ 1
36 #include <senf/Socket/SocketProtocol.hh>
37 #include <senf/Scheduler/ClockService.hh>
39 //#include "DatagramSocketProtocol.mpp"
40 //-/////////////////////////////////////////////////////////////////////////////////////////////////
44 ///\addtogroup protocol_facets_group
47 /** \brief Protocol facet providing generic BSD datagram socket functionality
49 class DatagramSocketProtocol
50 : public virtual SocketProtocol
53 ClockService::clock_type timestamp_system() const; ///< Return packet timestamp of last packet
55 ClockService::clock_type timestamp() const; ///< Return packet timestamp of last packet
56 /**< The returned timestamp represents the time, at which
57 the last network packet passed to the user has been
58 received from the network. This allows precise network
61 \pre The \c SO_TIMESTAMP socket option must not be set
63 \returns timestamp when last packet was received */
70 //-/////////////////////////////////////////////////////////////////////////////////////////////////
71 //#include "DatagramSocketProtocol.cci"
72 //#include "DatagramSocketProtocol.ct"
73 //#include "DatagramSocketProtocol.cti"
81 // c-file-style: "senf"
82 // indent-tabs-mode: nil
83 // ispell-local-dictionary: "american"
84 // compile-command: "scons -u test"