OpenSDN source code
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
TFDTransport.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
#ifndef _SANDESH_TRANSPORT_TFDTRANSPORT_H_
21
#define _SANDESH_TRANSPORT_TFDTRANSPORT_H_ 1
22
23
#include <string>
24
#ifdef HAVE_SYS_TIME_H
25
#include <sys/time.h>
26
#endif
27
28
#include "
TTransport.h
"
29
#include "
TVirtualTransport.h
"
30
31
namespace
contrail {
namespace
sandesh {
namespace
transport {
32
37
class
TFDTransport
:
public
TVirtualTransport
<TFDTransport> {
38
public
:
39
enum
ClosePolicy
40
{
NO_CLOSE_ON_DESTROY
= 0
41
,
CLOSE_ON_DESTROY
= 1
42
};
43
44
TFDTransport
(
int
fd,
ClosePolicy
close_policy =
NO_CLOSE_ON_DESTROY
)
45
:
fd_
(fd)
46
,
close_policy_
(close_policy)
47
{}
48
49
~TFDTransport
() {
50
if
(
close_policy_
==
CLOSE_ON_DESTROY
) {
51
close
();
52
}
53
}
54
55
bool
isOpen
() {
return
fd_
>= 0; }
56
57
void
open
() {}
58
59
void
close
();
60
61
int32_t
read
(uint8_t* buf, uint32_t len);
62
63
int32_t
write
(
const
uint8_t* buf, uint32_t len);
64
65
void
setFD
(
int
fd) {
fd_
= fd; }
66
int
getFD
() {
return
fd_
; }
67
68
protected
:
69
int
fd_
;
70
ClosePolicy
close_policy_
;
71
};
72
73
}}}
// contrail::sandesh::transport
74
75
#endif // #ifndef _SANDESH_TRANSPORT_TFDTRANSPORT_H_
TTransport.h
contrail::sandesh::transport::TFDTransport::ClosePolicy
ClosePolicy
Definition:
TFDTransport.h:39
contrail::sandesh::transport::TFDTransport::read
int32_t read(uint8_t *buf, uint32_t len)
contrail::sandesh::transport::TFDTransport::TFDTransport
TFDTransport(int fd, ClosePolicy close_policy=NO_CLOSE_ON_DESTROY)
Definition:
TFDTransport.h:44
contrail::sandesh::transport::TFDTransport::close_policy_
ClosePolicy close_policy_
Definition:
TFDTransport.h:70
TVirtualTransport.h
contrail::sandesh::transport::TFDTransport::~TFDTransport
~TFDTransport()
Definition:
TFDTransport.h:49
contrail::sandesh::transport::TFDTransport::NO_CLOSE_ON_DESTROY
Definition:
TFDTransport.h:40
contrail::sandesh::transport::TFDTransport::write
int32_t write(const uint8_t *buf, uint32_t len)
contrail::sandesh::transport::TFDTransport::setFD
void setFD(int fd)
Definition:
TFDTransport.h:65
contrail::sandesh::transport::TFDTransport::CLOSE_ON_DESTROY
Definition:
TFDTransport.h:41
contrail::sandesh::transport::TFDTransport::open
void open()
Definition:
TFDTransport.h:57
contrail::sandesh::transport::TFDTransport
Definition:
TFDTransport.h:37
contrail::sandesh::transport::TFDTransport::getFD
int getFD()
Definition:
TFDTransport.h:66
contrail::sandesh::transport::TFDTransport::close
void close()
contrail::sandesh::transport::TFDTransport::fd_
int fd_
Definition:
TFDTransport.h:69
contrail::sandesh::transport::TVirtualTransport
Definition:
TVirtualTransport.h:88
contrail::sandesh::transport::TFDTransport::isOpen
bool isOpen()
Definition:
TFDTransport.h:55
contrail
src
contrail-common
sandesh
library
cpp
transport
TFDTransport.h
Generated by
1.8.5