FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
connection.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2017 Cisco and/or its affiliates.
3
* Licensed under the Apache License, Version 2.0 (the "License");
4
* you may not use this file except in compliance with the License.
5
* You may obtain a copy of the License at:
6
*
7
* http://www.apache.org/licenses/LICENSE-2.0
8
*
9
* Unless required by applicable law or agreed to in writing, software
10
* distributed under the License is distributed on an "AS IS" BASIS,
11
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
* See the License for the specific language governing permissions and
13
* limitations under the License.
14
*/
15
16
#ifndef __VOM_CONNECTION_H__
17
#define __VOM_CONNECTION_H__
18
19
#include <memory>
20
#include <string>
21
22
/**
23
* Forward declarations
24
*/
25
namespace
vapi
{
26
class
Connection;
27
};
28
29
namespace
VOM
{
30
/**
31
* A representation of the connection to VPP
32
*/
33
class
connection
34
{
35
public
:
36
/**
37
* Constructor
38
*/
39
connection
();
40
/**
41
* Destructor
42
*/
43
~connection
();
44
45
/**
46
* Blocking [re]connect call - always eventually succeeds, or the
47
* universe expires. Not much this system can do without one.
48
*/
49
int
connect
();
50
51
/**
52
* Blocking disconnect
53
*/
54
void
disconnect
();
55
56
/**
57
* Retrun the VAPI context the commands will use
58
*/
59
vapi::Connection
&
ctx
();
60
61
private
:
62
/**
63
* The VAPI connection context
64
*/
65
std::unique_ptr<vapi::Connection> m_vapi_conn;
66
67
/**
68
* The name of this application
69
*/
70
const
std::string
m_app_name;
71
};
72
};
73
74
/*
75
* fd.io coding-style-patch-verification: OFF
76
*
77
* Local Variables:
78
* eval: (c-set-style "mozilla")
79
* End:
80
*/
81
82
#endif
VOM
The VPP Object Model (VOM) library.
Definition:
acl_binding.cpp:19
vapi::Connection
Class representing a connection to VPP.
Definition:
vapi.hpp:153
VOM::connection::connection
connection()
Constructor.
Definition:
connection.cpp:21
VOM::connection::disconnect
void disconnect()
Blocking disconnect.
Definition:
connection.cpp:32
VOM::connection::connect
int connect()
Blocking [re]connect call - always eventually succeeds, or the universe expires.
Definition:
connection.cpp:38
VOM::connection::~connection
~connection()
Destructor.
Definition:
connection.cpp:27
VOM::connection
A representation of the connection to VPP.
Definition:
connection.hpp:33
VOM::connection::ctx
vapi::Connection & ctx()
Retrun the VAPI context the commands will use.
Definition:
connection.cpp:49
vapi
Forward declarations.
Definition:
vapi.hpp:44
string
const char *const string
Definition:
cJSON.h:172
extras
deprecated
vom
vom
connection.hpp
Generated on Sat Jan 8 2022 10:34:46 for FD.io VPP by
1.8.17