PhoenixSocket
6.4.0
Library which integrates socket use in Phoenix
Toggle main menu visibility
Loading...
Searching...
No Matches
PSocketFlag.cpp
Go to the documentation of this file.
1
/***************************************
2
Auteur : Pierre Aubert
3
Mail : pierre.aubert@lapp.in2p3.fr
4
Licence : CeCILL-C
5
****************************************/
6
7
#include "
PSocketFlag.h
"
8
#include <stdexcept>
9
11
14
std::string
toString
(
PSendFlag::PSendFlag
flag){
15
switch
(flag){
16
case
PSendFlag::BLOCK
:
return
"BLOCK"
;
break
;
17
case
PSendFlag::NON_BLOCK
:
return
"NON_BLOCK"
;
break
;
18
}
19
throw
std::invalid_argument(
"Invalid PSendFlag flag"
);
20
}
21
23
26
std::string
toString
(
PSendStatus::PSendStatus
status){
27
switch
(status){
28
case
PSendStatus::OK
:
return
"OK"
;
break
;
29
case
PSendStatus::SOCKET_NOT_AVAILABLE
:
return
"SOCKET_NOT_AVAILABLE"
;
break
;
30
case
PSendStatus::NO_ROUTE_TO_RECEIVER
:
return
"NO_ROUTE_TO_RECEIVER"
;
break
;
31
case
PSendStatus::SIGNAL_INTERRUPTION
:
return
"SIGNAL_INTERRUPTION"
;
break
;
32
case
PSendStatus::BROKEN_BACKEND
:
return
"BROKEN_BACKEND"
;
break
;
33
case
PSendStatus::BROKEN_SOCKET
:
return
"BROKEN_SOCKET"
;
break
;
34
case
PSendStatus::CANNOT_SERIALIZE_DATA
:
return
"CANNOT_SERIALIZE_DATA"
;
break
;
35
}
36
throw
std::invalid_argument(
"Invalid PSendStatus flag"
);
37
}
38
39
41
44
std::string
toString
(
PRecvFlag::PRecvFlag
flag){
45
switch
(flag){
46
case
PRecvFlag::BLOCK
:
return
"BLOCK"
;
break
;
47
case
PRecvFlag::NON_BLOCK
:
return
"NON_BLOCK"
;
break
;
48
}
49
throw
std::invalid_argument(
"Invalid PRecvFlag flag"
);
50
}
51
53
56
std::string
toString
(
PRecvStatus::PRecvStatus
status){
57
switch
(status){
58
case
PRecvStatus::OK
:
return
"OK"
;
break
;
59
case
PRecvStatus::NO_MESSAGE_RECEIVED
:
return
"NO_MESSAGE_RECEIVED"
;
break
;
60
case
PRecvStatus::INVALID_MESSAGE
:
return
"INVALID_MESSAGE"
;
break
;
61
case
PRecvStatus::SOCKET_NOT_AVAILABLE
:
return
"SOCKET_NOT_AVAILABLE"
;
break
;
62
case
PRecvStatus::SIGNAL_INTERRUPTION
:
return
"SIGNAL_INTERRUPTION"
;
break
;
63
case
PRecvStatus::BROKEN_BACKEND
:
return
"BROKEN_BACKEND"
;
break
;
64
case
PRecvStatus::BROKEN_SOCKET
:
return
"BROKEN_SOCKET"
;
break
;
65
case
PRecvStatus::CANNOT_DESERIALIZE_DATA
:
return
"CANNOT_DESERIALIZE_DATA"
;
break
;
66
}
67
throw
std::invalid_argument(
"Invalid PRecvStatus flag"
);
68
}
69
71
74
template
<>
75
PSendFlag::PSendFlag
fromString<PSendFlag::PSendFlag>
(
const
std::string& str){
76
if
(str ==
"BLOCK"
){
return
PSendFlag::BLOCK
;}
77
else
if
(str ==
"NON_BLOCK"
){
return
PSendFlag::NON_BLOCK
;}
78
throw
std::invalid_argument(
"Invalid PSendFlag string: "
+ str);
79
}
80
82
85
template
<>
86
PSendStatus::PSendStatus
fromString<PSendStatus::PSendStatus>
(
const
std::string& str){
87
if
(str ==
"OK"
){
return
PSendStatus::OK
;}
88
else
if
(str ==
"SOCKET_NOT_AVAILABLE"
){
return
PSendStatus::SOCKET_NOT_AVAILABLE
;}
89
else
if
(str ==
"NO_ROUTE_TO_RECEIVER"
){
return
PSendStatus::NO_ROUTE_TO_RECEIVER
;}
90
else
if
(str ==
"SIGNAL_INTERRUPTION"
){
return
PSendStatus::SIGNAL_INTERRUPTION
;}
91
else
if
(str ==
"BROKEN_BACKEND"
){
return
PSendStatus::BROKEN_BACKEND
;}
92
else
if
(str ==
"BROKEN_SOCKET"
){
return
PSendStatus::BROKEN_SOCKET
;}
93
else
if
(str ==
"CANNOT_SERIALIZE_DATA"
){
return
PSendStatus::CANNOT_SERIALIZE_DATA
;}
94
throw
std::invalid_argument(
"Invalid PSendStatus string: "
+ str);
95
}
96
98
101
template
<>
102
PRecvFlag::PRecvFlag
fromString<PRecvFlag::PRecvFlag>
(
const
std::string& str){
103
if
(str ==
"BLOCK"
){
return
PRecvFlag::BLOCK
;}
104
else
if
(str ==
"NON_BLOCK"
){
return
PRecvFlag::NON_BLOCK
;}
105
throw
std::invalid_argument(
"Invalid PRecvFlag string: "
+ str);
106
}
107
109
112
template
<>
113
PRecvStatus::PRecvStatus
fromString<PRecvStatus::PRecvStatus>
(
const
std::string& str){
114
if
(str ==
"OK"
){
return
PRecvStatus::OK
;}
115
else
if
(str ==
"NO_MESSAGE_RECEIVED"
){
return
PRecvStatus::NO_MESSAGE_RECEIVED
;}
116
else
if
(str ==
"INVALID_MESSAGE"
){
return
PRecvStatus::INVALID_MESSAGE
;}
117
else
if
(str ==
"SOCKET_NOT_AVAILABLE"
){
return
PRecvStatus::SOCKET_NOT_AVAILABLE
;}
118
else
if
(str ==
"SIGNAL_INTERRUPTION"
){
return
PRecvStatus::SIGNAL_INTERRUPTION
;}
119
else
if
(str ==
"BROKEN_BACKEND"
){
return
PRecvStatus::BROKEN_BACKEND
;}
120
else
if
(str ==
"BROKEN_SOCKET"
){
return
PRecvStatus::BROKEN_SOCKET
;}
121
else
if
(str ==
"CANNOT_DESERIALIZE_DATA"
){
return
PRecvStatus::CANNOT_DESERIALIZE_DATA
;}
122
throw
std::invalid_argument(
"Invalid PRecvStatus string: "
+ str);
123
}
fromString< PRecvFlag::PRecvFlag >
PRecvFlag::PRecvFlag fromString< PRecvFlag::PRecvFlag >(const std::string &str)
Convert a std::string into a PRecvFlag.
Definition
PSocketFlag.cpp:102
fromString< PRecvStatus::PRecvStatus >
PRecvStatus::PRecvStatus fromString< PRecvStatus::PRecvStatus >(const std::string &str)
Convert a std::string into a PRecvStatus.
Definition
PSocketFlag.cpp:113
toString
std::string toString(PSendFlag::PSendFlag flag)
Convert a PSendFlag into a std::string.
Definition
PSocketFlag.cpp:14
fromString< PSendFlag::PSendFlag >
PSendFlag::PSendFlag fromString< PSendFlag::PSendFlag >(const std::string &str)
Convert a std::string into a PSendFlag.
Definition
PSocketFlag.cpp:75
fromString< PSendStatus::PSendStatus >
PSendStatus::PSendStatus fromString< PSendStatus::PSendStatus >(const std::string &str)
Convert a std::string into a PSendStatus.
Definition
PSocketFlag.cpp:86
PSocketFlag.h
PRecvFlag::PRecvFlag
PRecvFlag
describe the receiving flag of the Socket
Definition
PSocketFlag.h:35
PRecvFlag::NON_BLOCK
@ NON_BLOCK
Definition
PSocketFlag.h:37
PRecvFlag::BLOCK
@ BLOCK
Definition
PSocketFlag.h:36
PRecvStatus::PRecvStatus
PRecvStatus
describe the result of the recv
Definition
PSocketFlag.h:43
PRecvStatus::SIGNAL_INTERRUPTION
@ SIGNAL_INTERRUPTION
Definition
PSocketFlag.h:48
PRecvStatus::CANNOT_DESERIALIZE_DATA
@ CANNOT_DESERIALIZE_DATA
Definition
PSocketFlag.h:51
PRecvStatus::NO_MESSAGE_RECEIVED
@ NO_MESSAGE_RECEIVED
Definition
PSocketFlag.h:45
PRecvStatus::SOCKET_NOT_AVAILABLE
@ SOCKET_NOT_AVAILABLE
Definition
PSocketFlag.h:47
PRecvStatus::BROKEN_BACKEND
@ BROKEN_BACKEND
Definition
PSocketFlag.h:49
PRecvStatus::BROKEN_SOCKET
@ BROKEN_SOCKET
Definition
PSocketFlag.h:50
PRecvStatus::OK
@ OK
Definition
PSocketFlag.h:44
PRecvStatus::INVALID_MESSAGE
@ INVALID_MESSAGE
Definition
PSocketFlag.h:46
PSendFlag::PSendFlag
PSendFlag
describe the sending flag of the Socket
Definition
PSocketFlag.h:14
PSendFlag::BLOCK
@ BLOCK
Definition
PSocketFlag.h:15
PSendFlag::NON_BLOCK
@ NON_BLOCK
Definition
PSocketFlag.h:16
PSendStatus::PSendStatus
PSendStatus
describe the result of the send
Definition
PSocketFlag.h:22
PSendStatus::BROKEN_SOCKET
@ BROKEN_SOCKET
Definition
PSocketFlag.h:28
PSendStatus::SOCKET_NOT_AVAILABLE
@ SOCKET_NOT_AVAILABLE
Definition
PSocketFlag.h:24
PSendStatus::NO_ROUTE_TO_RECEIVER
@ NO_ROUTE_TO_RECEIVER
Definition
PSocketFlag.h:25
PSendStatus::CANNOT_SERIALIZE_DATA
@ CANNOT_SERIALIZE_DATA
Definition
PSocketFlag.h:29
PSendStatus::SIGNAL_INTERRUPTION
@ SIGNAL_INTERRUPTION
Definition
PSocketFlag.h:26
PSendStatus::OK
@ OK
Definition
PSocketFlag.h:23
PSendStatus::BROKEN_BACKEND
@ BROKEN_BACKEND
Definition
PSocketFlag.h:27
src
PSocketFlag.cpp
Generated by
1.17.0