Loading...
Searching...
No Matches
acceptor.h
Go to the documentation of this file.
1
/*
2
* Licensed to the Apache Software Foundation (ASF) under one
3
* or more contributor license agreements. See the NOTICE file
4
* distributed with this work for additional information
5
* regarding copyright ownership. The ASF licenses this file
6
* to you under the Apache License, Version 2.0 (the
7
* "License"); you may not use this file except in compliance
8
* with the License. You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing,
13
* software distributed under the License is distributed on an
14
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
* KIND, either express or implied. See the License for the
16
* specific language governing permissions and limitations
17
* under the License.
18
*/
19
20
#pragma once
21
#include <memory>
22
23
#include "
platform/common/data_comm/data_comm.h
"
24
#include "
platform/common/data_comm/network_comm.h
"
25
#include "
platform/common/network/socket.h
"
26
#include "
platform/common/queue/lock_free_queue.h
"
27
#include "
platform/config/resdb_config.h
"
28
#include "
platform/statistic/stats.h
"
29
30
namespace
resdb
{
31
32
// Acceptor is a service running in BFT environment.
33
// It receives messages from other servers or clients and delivers them to
34
// ServiceInterface to process.
35
// service will be running in a multi-thread module.
36
class
Acceptor
{
37
public
:
38
// While running Acceptor, it will lisenten to ip:port.
39
Acceptor
(
const
ResDBConfig
& config,
LockFreeQueue<QueueItem>
* input_queue);
40
virtual
~Acceptor
();
41
42
// Run Acceptor as background.
43
void
Run
();
44
void
Stop
();
45
46
private
:
47
bool
IsRunning();
48
49
private
:
50
std::unique_ptr<Socket> socket_;
51
ResDBConfig
config_;
52
LockFreeQueue<QueueItem>
* input_queue_;
53
Stats
* global_stats_;
54
std::atomic<bool> is_stop_;
55
};
56
57
}
// namespace resdb
resdb::Acceptor
Definition
acceptor.h:36
resdb::Acceptor::~Acceptor
virtual ~Acceptor()
Definition
acceptor.cpp:46
resdb::Acceptor::Run
void Run()
Definition
acceptor.cpp:48
resdb::Acceptor::Stop
void Stop()
Definition
acceptor.cpp:91
resdb::LockFreeQueue
Definition
lock_free_queue.h:32
resdb::ResDBConfig
Definition
resdb_config.h:28
resdb::Stats
Definition
stats.h:29
data_comm.h
lock_free_queue.h
resdb
Definition
chain_state.cpp:24
network_comm.h
resdb_config.h
socket.h
stats.h
platform
rdbc
acceptor.h
Generated by
1.9.8