OpenCBDC Transaction Processor
Loading...
Searching...
No Matches
parsec/agent/runners/lua/server.hpp
Go to the documentation of this file.
1// Copyright (c) 2021 MIT Digital Currency Initiative,
2// Federal Reserve Bank of Boston
3// Distributed under the MIT software license, see the accompanying
4// file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
6#ifndef OPENCBDC_TX_SRC_PARSEC_AGENT_RUNNERS_LUA_SERVER_H_
7#define OPENCBDC_TX_SRC_PARSEC_AGENT_RUNNERS_LUA_SERVER_H_
8
11
15 class server : public server_interface {
16 public:
19
26 server(std::unique_ptr<server_type> srv,
27 std::shared_ptr<broker::interface> broker,
28 std::shared_ptr<logging::log> log,
29 const cbdc::parsec::config& cfg);
30
32 ~server() override;
33
37 auto init() -> bool override;
38
39 server(const server&) = delete;
40 auto operator=(const server&) -> server& = delete;
41 server(server&&) = delete;
42 auto operator=(server&&) -> server& = delete;
43
44 private:
45 std::unique_ptr<server_type> m_srv;
46
47 auto request_handler(request req,
48 server_type::response_callback_type callback)
49 -> bool;
50 };
51}
52
53#endif
RPC server for an agent running a Lua exector.
auto init() -> bool override
Initializes the server.
auto operator=(server &&) -> server &=delete
server(const server &)=delete
auto operator=(const server &) -> server &=delete
Implements an RPC server over a TCP socket.
Agent contract execution RPC request message.
Configuration parameters for a phase two system.