Belle II Software
release-05-02-19
SocketLib.h
1
#ifndef SOCKETLIB_H
2
#define SOCKETLIB_H
3
//+
4
// File : socketlib.h
5
// Description : Class to handle a socket
6
//
7
// Author : Ryosuke Itoh, IPNS, KEK
8
// Date : 18 - Aug - 2000
9
//-
10
11
#include <netdb.h>
12
#include <netinet/in.h>
13
14
#define D2_SOCKBUF_SIZE 8000000
15
16
typedef
unsigned
short
u_short;
17
18
namespace
Belle2
{
25
class
SocketIO
{
26
public
:
27
SocketIO
();
28
~
SocketIO
();
29
30
int
put(
int
sock,
char
* data,
int
len);
31
int
put_wordbuf(
int
sock,
int
* data,
int
len);
32
int
get(
int
sock,
char
* data,
int
len);
33
int
get_wordbuf(
int
sock,
int
* data,
int
len);
34
35
int
get_pxd
(
int
sock,
char
* data,
int
len);
36
37
// protected:
38
int
read_data(
int
sock,
char
* data,
int
len);
39
int
write_data(
int
sock,
char
* data,
int
len);
40
41
void
interrupt();
42
43
private
:
44
int
m_int;
45
46
};
47
48
class
SocketRecv
:
public
SocketIO
{
49
public
:
50
SocketRecv
(u_short port);
51
~
SocketRecv
();
52
53
int
reconnect(
int
ntry);
54
55
int
examine();
56
int
accept();
57
int
close();
58
59
int
sock()
const
;
60
int
sender()
const
;
61
void
sock(
int
sockid);
62
63
int
get(
char
* data,
int
len);
64
int
get_wordbuf(
int
* data,
int
len);
65
int
read(
char
* data,
int
len);
66
int
put(
char
* data,
int
len);
67
int
write(
char
* data,
int
len);
68
69
int
err()
const
;
70
void
interrupt();
71
72
private
:
73
SocketIO
m_io;
74
struct
hostent* m_hp;
75
struct
sockaddr_in m_sa;
76
int
m_port;
77
int
m_sock;
78
int
m_sender;
79
int
m_errno;
80
int
m_int;
81
82
};
83
84
class
SocketSend
:
public
SocketIO
{
85
public
:
86
SocketSend
(
const
char
* node, u_short prt);
87
~
SocketSend
();
88
89
int
reconnect(
int
ntry);
90
91
int
put(
char
* data,
int
len);
92
int
put_wordbuf(
int
* data,
int
len);
93
int
write(
char
* data,
int
len);
94
int
get(
char
* data,
int
len);
95
int
get_pxd(
char
* data,
int
len);
96
int
read(
char
* data,
int
len);
97
98
char
* node(
void
);
99
int
port(
void
);
100
int
sock(
void
);
101
void
sock(
int
sockid);
102
103
int
err(
void
);
104
105
private
:
106
SocketIO
m_io;
107
struct
hostent* m_hp;
108
struct
sockaddr_in m_sa;
109
int
m_sock;
110
int
m_port;
111
char
m_node[128];
112
int
m_errno;
113
114
};
115
117
}
118
#endif
119
120
121
122
123
124
Belle2::SocketIO
Definition:
SocketLib.h:25
Belle2
Abstract base class for different kinds of events.
Definition:
MillepedeAlgorithm.h:19
Belle2::SocketSend
Definition:
SocketLib.h:84
Belle2::SocketIO::get_pxd
int get_pxd(int sock, char *data, int len)
Definition:
SocketLib.cc:126
Belle2::SocketRecv
Definition:
SocketLib.h:48
daq
dataflow
include
SocketLib.h
Generated on Tue Jan 4 2022 02:53:17 for Belle II Software by
1.8.17