CCF
Loading...
Searching...
No Matches
rpc_handler.h
Go to the documentation of this file.
1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the Apache 2.0 License.
3#pragma once
4
5#include "ccf/crypto/pem.h"
6#include "ccf/tx.h"
7#include "forwarder_types.h"
8
9#include <chrono>
10#include <limits>
11#include <stdint.h>
12#include <vector>
13
14namespace ccf::kv
15{
16 class CommittableTx;
17}
18
19namespace ccf
20{
21 class RpcContextImpl;
22
24 {
25 public:
26 virtual ~RpcHandler() {}
27
28 // Used by enclave to initialise and tick frontends
29 virtual void set_sig_intervals(
30 size_t sig_tx_interval, size_t sig_ms_interval) = 0;
31 virtual void set_cmd_forwarder(
32 std::shared_ptr<AbstractForwarder> cmd_forwarder_) = 0;
33 virtual void tick(std::chrono::milliseconds) {}
34 virtual void open() = 0;
35 virtual bool is_open() = 0;
36
37 // Used by rpcendpoint to process incoming client RPCs
38 virtual void process(std::shared_ptr<RpcContextImpl> ctx) = 0;
39 };
40}
Definition rpc_handler.h:24
virtual void set_cmd_forwarder(std::shared_ptr< AbstractForwarder > cmd_forwarder_)=0
virtual void set_sig_intervals(size_t sig_tx_interval, size_t sig_ms_interval)=0
virtual ~RpcHandler()
Definition rpc_handler.h:26
virtual bool is_open()=0
virtual void process(std::shared_ptr< RpcContextImpl > ctx)=0
virtual void tick(std::chrono::milliseconds)
Definition rpc_handler.h:33
virtual void open()=0
Definition app_interface.h:19
Definition app_interface.h:14