Apollo
10.0
自动驾驶开放平台
poll_data.h
浏览该文件的文档.
1
/******************************************************************************
2
* Copyright 2018 The Apollo Authors. All Rights Reserved.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*****************************************************************************/
16
17
#ifndef CYBER_IO_POLL_DATA_H_
18
#define CYBER_IO_POLL_DATA_H_
19
20
#include <sys/epoll.h>
21
22
#include <cstdint>
23
#include <functional>
24
25
namespace
apollo
{
26
namespace
cyber {
27
namespace
io {
28
29
struct
PollResponse
{
30
explicit
PollResponse
(uint32_t e = 0) :
events
(e) {}
31
32
uint32_t
events
;
33
};
34
35
struct
PollRequest
{
36
int
fd
= -1;
37
uint32_t
events
= 0;
38
int
timeout_ms
= -1;
39
std::function<void(
const
PollResponse
&)>
callback
=
nullptr
;
40
};
41
42
struct
PollCtrlParam
{
43
int
operation
;
44
int
fd
;
45
epoll_event
event
;
46
};
47
48
}
// namespace io
49
}
// namespace cyber
50
}
// namespace apollo
51
52
#endif
// CYBER_IO_POLL_DATA_H_
apollo
class register implement
Definition
arena_queue.h:37
apollo::cyber::io::PollCtrlParam
Definition
poll_data.h:42
apollo::cyber::io::PollCtrlParam::fd
int fd
Definition
poll_data.h:44
apollo::cyber::io::PollCtrlParam::operation
int operation
Definition
poll_data.h:43
apollo::cyber::io::PollCtrlParam::event
epoll_event event
Definition
poll_data.h:45
apollo::cyber::io::PollRequest
Definition
poll_data.h:35
apollo::cyber::io::PollRequest::callback
std::function< void(const PollResponse &)> callback
Definition
poll_data.h:39
apollo::cyber::io::PollRequest::events
uint32_t events
Definition
poll_data.h:37
apollo::cyber::io::PollRequest::fd
int fd
Definition
poll_data.h:36
apollo::cyber::io::PollRequest::timeout_ms
int timeout_ms
Definition
poll_data.h:38
apollo::cyber::io::PollResponse
Definition
poll_data.h:29
apollo::cyber::io::PollResponse::PollResponse
PollResponse(uint32_t e=0)
Definition
poll_data.h:30
apollo::cyber::io::PollResponse::events
uint32_t events
Definition
poll_data.h:32
cyber
io
poll_data.h