TDME2
1.9.200
src
tdme
os
network
platform
bsd
KernelEventMechanismPSD.h
Go to the documentation of this file.
1
#pragma once
2
3
#if defined(__HAIKU__)
4
#define _DEFAULT_SOURCE
5
#include <bsd/sys/event.h>
6
#else
7
#include <sys/event.h>
8
#endif
9
10
#include <array>
11
#include <vector>
12
13
#include <
tdme/tdme.h
>
14
#include <
tdme/os/network/fwd-tdme.h
>
15
#include <
tdme/os/network/platform/bsd/fwd-tdme.h
>
16
17
#include <
tdme/os/threading/Mutex.h
>
18
19
using
tdme::os::threading::Mutex
;
20
21
using
std::array;
22
using
std::vector;
23
24
/**
25
* BSD kernel event mechanism platform specific data
26
* @author Andreas Drewke
27
*/
28
class
tdme::os::network::platform::bsd::KernelEventMechanismPSD
{
29
friend
class
tdme::os::network::KernelEventMechanism
;
30
31
private
:
32
// forbid class copy
33
FORBID_CLASS_COPY
(
KernelEventMechanismPSD
)
34
35
/**
36
* @brief Public constructor
37
*/
38
KernelEventMechanismPSD
() :
39
kq
(0),
40
kqChangeListMax
(0),
41
kqChangeListBuffer
(0),
42
kqChangeListCurrent
(0),
43
kqMutex
("kem_kq_mutex"),
44
kqEventListMax
(0) {
45
//
46
}
47
48
int
kq
;
49
50
unsigned
int
kqChangeListMax
;
51
unsigned
int
kqChangeListBuffer
;
52
unsigned
int
kqChangeListCurrent
;
53
array<vector<struct kevent>, 2>
kqChangeList
;
54
Mutex
kqMutex
;
55
56
unsigned
int
kqEventListMax
;
57
vector<struct kevent>
kqEventList
;
58
};
Mutex.h
tdme::os::network::KernelEventMechanism
Interface to kernel event mechanismns.
Definition:
KernelEventMechanism.h:17
tdme::os::network::platform::bsd::KernelEventMechanismPSD
BSD kernel event mechanism platform specific data.
Definition:
KernelEventMechanismPSD.h:28
tdme::os::network::platform::bsd::KernelEventMechanismPSD::kqChangeList
array< vector< struct kevent >, 2 > kqChangeList
Definition:
KernelEventMechanismPSD.h:53
tdme::os::network::platform::bsd::KernelEventMechanismPSD::kq
int kq
Definition:
KernelEventMechanismPSD.h:48
tdme::os::network::platform::bsd::KernelEventMechanismPSD::kqChangeListBuffer
unsigned int kqChangeListBuffer
Definition:
KernelEventMechanismPSD.h:51
tdme::os::network::platform::bsd::KernelEventMechanismPSD::kqMutex
Mutex kqMutex
Definition:
KernelEventMechanismPSD.h:54
tdme::os::network::platform::bsd::KernelEventMechanismPSD::kqEventList
vector< struct kevent > kqEventList
Definition:
KernelEventMechanismPSD.h:57
tdme::os::network::platform::bsd::KernelEventMechanismPSD::kqChangeListMax
unsigned int kqChangeListMax
Definition:
KernelEventMechanismPSD.h:50
tdme::os::network::platform::bsd::KernelEventMechanismPSD::kqChangeListCurrent
unsigned int kqChangeListCurrent
Definition:
KernelEventMechanismPSD.h:52
tdme::os::network::platform::bsd::KernelEventMechanismPSD::kqEventListMax
unsigned int kqEventListMax
Definition:
KernelEventMechanismPSD.h:56
tdme::os::threading::Mutex
Mutex implementation.
Definition:
Mutex.h:19
fwd-tdme.h
fwd-tdme.h
tdme.h
FORBID_CLASS_COPY
#define FORBID_CLASS_COPY(CLASS)
Definition:
tdme.h:6
Generated by
1.9.1