Belle II Software
release-05-02-19
RSocketLib.h
1
#ifndef RSOCKETLIB_H
2
#define RSOCKETLIB_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 <netinet/in.h>
12
13
#define D2_SOCKBUF_SIZE 8000000
14
15
#include "daq/dataflow/SocketLib.h"
16
17
typedef
unsigned
short
u_short;
18
19
namespace
Belle2
{
25
class
RSocketSend
:
public
SocketIO
{
26
public
:
27
RSocketSend
(u_short port);
28
~
RSocketSend
();
29
30
int
examine();
31
int
accept();
32
int
close();
33
34
int
sock()
const
;
35
int
sender()
const
;
36
void
sock(
int
sockid);
37
int
port()
const
;
38
39
int
get(
char
* data,
int
len);
40
int
read(
char
* data,
int
len);
41
int
put(
char
* data,
int
len);
42
int
put_wordbuf(
int
* data,
int
len);
43
int
write(
char
* data,
int
len);
44
45
int
err()
const
;
46
void
interrupt();
47
48
private
:
49
SocketIO
m_io;
50
int
m_sock;
51
int
m_port;
52
int
m_sender;
53
int
m_errno;
54
int
m_int;
55
56
};
57
58
class
RSocketRecv
:
public
SocketIO
{
59
public
:
60
RSocketRecv
(
const
char
* node, u_short prt);
61
~
RSocketRecv
();
62
63
int
reconnect(
int
ntry);
64
65
int
put(
char
* data,
int
len);
66
int
write(
char
* data,
int
len);
67
int
get(
char
* data,
int
len);
68
int
get_wordbuf(
int
* data,
int
len);
69
int
read(
char
* data,
int
len);
70
71
char
* node(
void
);
72
int
port(
void
);
73
int
sock(
void
);
74
void
sock(
int
sockid);
75
76
int
err(
void
);
77
78
private
:
79
SocketIO
m_io;
80
struct
hostent* m_hp;
81
struct
sockaddr_in m_sa;
82
int
m_sock;
83
int
m_port;
84
char
m_node[128];
85
int
m_errno;
86
87
};
88
90
}
91
#endif
92
93
94
95
96
97
Belle2::RSocketRecv
Definition:
RSocketLib.h:58
Belle2::SocketIO
Definition:
SocketLib.h:25
Belle2
Abstract base class for different kinds of events.
Definition:
MillepedeAlgorithm.h:19
Belle2::RSocketSend
Definition:
RSocketLib.h:25
daq
dataflow
include
RSocketLib.h
Generated on Tue Jan 4 2022 02:53:16 for Belle II Software by
1.8.17