1 /*******************************************************************************
2 
3     Informational interface to an EpollSelectDispatcher instance.
4 
5     Copyright:
6         Copyright (c) 2009-2016 dunnhumby Germany GmbH.
7         All rights reserved.
8 
9     License:
10         Boost Software License Version 1.0. See LICENSE_BOOST.txt for details.
11         Alternatively, this file may be distributed under the terms of the Tango
12         3-Clause BSD License (see LICENSE_BSD.txt for details).
13 
14 *******************************************************************************/
15 
16 module ocean.io.select.selector.IEpollSelectDispatcherInfo;
17 
18 
19 
20 public interface IEpollSelectDispatcherInfo
21 {
22     /***************************************************************************
23 
24         Returns:
25             the number of currently registered clients
26 
27     ***************************************************************************/
28 
29     size_t num_registered ( );
30 
31 
32     version ( EpollCounters )
33     {
34         /***********************************************************************
35 
36             Returns:
37                 the number of select calls (epoll_wait()) since the instance was
38                 created (or since the ulong counter wrapped)
39 
40         ***********************************************************************/
41 
42         ulong selects ( );
43 
44 
45         /***********************************************************************
46 
47             Returns:
48                 the number of select calls (epoll_wait()) which exited due to a
49                 timeout (as opposed to a client firing) since the instance was
50                 created (or since the ulong counter wrapped)
51 
52         ***********************************************************************/
53 
54         ulong timeouts ( );
55 
56 
57         /***********************************************************************
58 
59             Resets the counters returned by selects() and timeouts().
60 
61         ***********************************************************************/
62 
63         void resetCounters ( );
64     }
65 }
66