CppCMS
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
booster
aio
io_service.h
1
//
2
// Copyright (C) 2009-2012 Artyom Beilis (Tonkikh)
3
//
4
// Distributed under the Boost Software License, Version 1.0. (See
5
// accompanying file LICENSE_1_0.txt or copy at
6
// http://www.boost.org/LICENSE_1_0.txt)
7
//
8
#ifndef BOOSTER_AIO_IO_SERVICE_H
9
#define BOOSTER_AIO_IO_SERVICE_H
10
11
#include <booster/config.h>
12
#include <booster/aio/aio_config.h>
13
#include <booster/aio/types.h>
14
#include <booster/thread.h>
15
#include <booster/system_error.h>
16
#include <booster/aio/aio_category.h>
17
#include <booster/callback.h>
18
#include <booster/noncopyable.h>
19
#include <string>
20
#include <memory>
21
22
namespace
booster {
23
class
ptime;
24
namespace
aio {
25
26
class
event_loop_impl;
27
28
37
class
BOOSTER_API
io_service
:
public
noncopyable
,
public
io_events
{
38
public
:
39
43
io_service
(
int
reactor_type);
47
io_service
();
51
~
io_service
();
52
62
void
set_io_event(
native_type
fd,
int
event,
event_handler
const
&h);
67
void
cancel_io_events(
native_type
fd);
68
80
int
set_timer_event(
ptime
const
&point,
event_handler
const
&h);
81
85
void
cancel_timer_event(
int
event_id);
86
96
void
run();
97
102
void
run(
system::error_code
&e);
103
107
void
reset();
112
void
stop
();
113
118
void
post(
handler
const
&h);
119
123
124
std::string reactor_name();
125
private
:
126
struct
data;
127
hold_ptr<data>
d;
128
std::auto_ptr<event_loop_impl> impl_;
129
};
130
131
}
// aio
132
}
// booster
133
134
#endif
booster::hold_ptr< data >
booster::aio::io_events
the struct that collects multiple event types for polling.
Definition:
types.h:86
booster::callback
Definition:
callback.h:18
booster::system::error_code
The lightweight object that carries a error code information and its category.
Definition:
system_error.h:83
booster::ptime
This class represents POSIX time.
Definition:
posix_time.h:26
booster::aio::native_type
unspecified native_type
Definition:
types.h:29
booster::locale::conv::stop
Stop conversion and throw conversion_error.
Definition:
encoding_errors.h:56
booster::aio::io_service
this is the central event loop that dispatches all requests.
Definition:
io_service.h:37
booster::noncopyable
This class makes impossible to copy any class derived from this one.
Definition:
noncopyable.h:15
Generated on Thu Oct 30 2014 14:31:44 for CppCMS by
1.8.6