Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
L
libzmq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
libzmq
Commits
bb9135da
Unverified
Commit
bb9135da
authored
Mar 14, 2020
by
Luca Boccassi
Committed by
GitHub
Mar 14, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #3847 from JSYoo5B/protocol-literals-refactor
Refactor protocol literals into constants
parents
0c7ee438
38fd1fdc
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
56 additions
and
16 deletions
+56
-16
address.hpp
src/address.hpp
+7
-0
session_base.cpp
src/session_base.cpp
+12
-6
socket_base.cpp
src/socket_base.cpp
+35
-8
zmq.cpp
src/zmq.cpp
+2
-2
No files found.
src/address.hpp
View file @
bb9135da
...
...
@@ -62,6 +62,13 @@ namespace protocol_name
static
const
char
inproc
[]
=
"inproc"
;
static
const
char
tcp
[]
=
"tcp"
;
static
const
char
udp
[]
=
"udp"
;
#ifdef ZMQ_HAVE_OPENPGM
static
const
char
pgm
[]
=
"pgm"
;
static
const
char
epgm
[]
=
"epgm"
;
#endif
#ifdef ZMQ_HAVE_NORM
static
const
char
norm
[]
=
"norm"
;
#endif
#ifdef ZMQ_HAVE_WS
static
const
char
ws
[]
=
"ws"
;
#endif
...
...
src/session_base.cpp
View file @
bb9135da
...
...
@@ -534,8 +534,14 @@ void zmq::session_base_t::reconnect ()
{
// For delayed connect situations, terminate the pipe
// and reestablish later on
if
(
_pipe
&&
options
.
immediate
==
1
&&
_addr
->
protocol
!=
"pgm"
&&
_addr
->
protocol
!=
"epgm"
&&
_addr
->
protocol
!=
"norm"
if
(
_pipe
&&
options
.
immediate
==
1
#ifdef ZMQ_HAVE_OPENPGM
&&
_addr
->
protocol
!=
protocol_name
::
pgm
&&
_addr
->
protocol
!=
protocol_name
::
epgm
#endif
#ifdef ZMQ_HAVE_NORM
&&
_addr
->
protocol
!=
protocol_name
::
norm
#endif
&&
_addr
->
protocol
!=
protocol_name
::
udp
)
{
_pipe
->
hiccup
();
_pipe
->
terminate
(
false
);
...
...
@@ -604,13 +610,13 @@ zmq::session_base_t::start_connecting_entry_t
start_connecting_entry_t
(
protocol_name
::
udp
,
&
zmq
::
session_base_t
::
start_connecting_udp
),
#if defined ZMQ_HAVE_OPENPGM
start_connecting_entry_t
(
"pgm"
,
start_connecting_entry_t
(
protocol_name
::
pgm
,
&
zmq
::
session_base_t
::
start_connecting_pgm
),
start_connecting_entry_t
(
"epgm"
,
start_connecting_entry_t
(
protocol_name
::
epgm
,
&
zmq
::
session_base_t
::
start_connecting_pgm
),
#endif
#if defined ZMQ_HAVE_NORM
start_connecting_entry_t
(
"norm"
,
start_connecting_entry_t
(
protocol_name
::
norm
,
&
zmq
::
session_base_t
::
start_connecting_norm
),
#endif
};
...
...
@@ -724,7 +730,7 @@ void zmq::session_base_t::start_connecting_pgm (io_thread_t *io_thread_)
||
options
.
type
==
ZMQ_SUB
||
options
.
type
==
ZMQ_XSUB
);
// For EPGM transport with UDP encapsulation of PGM is used.
bool
const
udp_encapsulation
=
_addr
->
protocol
==
"epgm"
;
bool
const
udp_encapsulation
=
_addr
->
protocol
==
protocol_name
::
epgm
;
// At this point we'll create message pipes to the session straight
// away. There's no point in delaying it as no concept of 'connect'
...
...
src/socket_base.cpp
View file @
bb9135da
...
...
@@ -347,15 +347,15 @@ int zmq::socket_base_t::check_protocol (const std::string &protocol_) const
#endif
#if defined ZMQ_HAVE_OPENPGM
// pgm/epgm transports only available if 0MQ is compiled with OpenPGM.
&&
protocol_
!=
"pgm"
&&
protocol_
!=
"epgm"
&&
protocol_
!=
protocol_name
::
pgm
&&
protocol_
!=
protocol_name
::
epgm
#endif
#if defined ZMQ_HAVE_TIPC
// TIPC transport is only available on Linux.
&&
protocol_
!=
protocol_name
::
tipc
#endif
#if defined ZMQ_HAVE_NORM
&&
protocol_
!=
"norm"
&&
protocol_
!=
protocol_name
::
norm
#endif
#if defined ZMQ_HAVE_VMCI
&&
protocol_
!=
protocol_name
::
vmci
...
...
@@ -369,7 +369,14 @@ int zmq::socket_base_t::check_protocol (const std::string &protocol_) const
// Specifically, multicast protocols can't be combined with
// bi-directional messaging patterns (socket types).
#if defined ZMQ_HAVE_OPENPGM || defined ZMQ_HAVE_NORM
if
((
protocol_
==
"pgm"
||
protocol_
==
"epgm"
||
protocol_
==
"norm"
)
#if defined ZMQ_HAVE_OPENPGM && defined ZMQ_HAVE_NORM
if
((
protocol_
==
protocol_name
::
pgm
||
protocol_
==
protocol_name
::
epgm
||
protocol_
==
protocol_name
::
norm
)
#elif defined ZMQ_HAVE_OPENPGM
if
((
protocol_
==
protocol_name
::
pgm
||
protocol_
==
protocol_name
::
epgm
)
#else // defined ZMQ_HAVE_NORM
if
(
protocol_
==
protocol_name
::
norm
#endif
&&
options
.
type
!=
ZMQ_PUB
&&
options
.
type
!=
ZMQ_SUB
&&
options
.
type
!=
ZMQ_XPUB
&&
options
.
type
!=
ZMQ_XSUB
)
{
errno
=
ENOCOMPATPROTO
;
...
...
@@ -546,7 +553,15 @@ int zmq::socket_base_t::bind (const char *endpoint_uri_)
return
rc
;
}
if
(
protocol
==
"pgm"
||
protocol
==
"epgm"
||
protocol
==
"norm"
)
{
#if defined ZMQ_HAVE_OPENPGM || defined ZMQ_HAVE_NORM
#if defined ZMQ_HAVE_OPENPGM && defined ZMQ_HAVE_NORM
if
(
protocol
==
protocol_name
::
pgm
||
protocol
==
protocol_name
::
epgm
||
protocol
==
protocol_name
::
norm
)
{
#elif defined ZMQ_HAVE_OPENPGM
if
(
protocol
==
protocol_name
::
pgm
||
protocol
==
protocol_name
::
epgm
)
{
#else // defined ZMQ_HAVE_NORM
if
(
protocol
==
protocol_name
::
norm
)
{
#endif
// For convenience's sake, bind can be used interchangeable with
// connect for PGM, EPGM, NORM transports.
rc
=
connect
(
endpoint_uri_
);
...
...
@@ -554,6 +569,7 @@ int zmq::socket_base_t::bind (const char *endpoint_uri_)
options
.
connected
=
true
;
return
rc
;
}
#endif
if
(
protocol
==
protocol_name
::
udp
)
{
if
(
!
(
options
.
type
==
ZMQ_DGRAM
||
options
.
type
==
ZMQ_DISH
))
{
...
...
@@ -968,7 +984,7 @@ int zmq::socket_base_t::connect_internal (const char *endpoint_uri_)
// TBD - Should we check address for ZMQ_HAVE_NORM???
#ifdef ZMQ_HAVE_OPENPGM
if
(
protocol
==
"pgm"
||
protocol
==
"epgm"
)
{
if
(
protocol
==
protocol_name
::
pgm
||
protocol
==
protocol_name
::
epgm
)
{
struct
pgm_addrinfo_t
*
res
=
NULL
;
uint16_t
port_number
=
0
;
int
rc
=
...
...
@@ -1021,9 +1037,20 @@ int zmq::socket_base_t::connect_internal (const char *endpoint_uri_)
// PGM does not support subscription forwarding; ask for all data to be
// sent to this pipe. (same for NORM, currently?)
const
bool
subscribe_to_all
=
protocol
==
"pgm"
||
protocol
==
"epgm"
||
protocol
==
"norm"
#if defined ZMQ_HAVE_OPENPGM && defined ZMQ_HAVE_NORM
const
bool
subscribe_to_all
=
protocol
==
protocol_name
::
pgm
||
protocol
==
protocol_name
::
epgm
||
protocol
==
protocol_name
::
norm
||
protocol
==
protocol_name
::
udp
;
#elif defined ZMQ_HAVE_OPENPGM
const
bool
subscribe_to_all
=
protocol
==
protocol_name
::
pgm
||
protocol
==
protocol_name
::
epgm
||
protocol
==
protocol_name
::
udp
;
#elif defined ZMQ_HAVE_NORM
const
bool
subscribe_to_all
=
protocol
==
protocol_name
::
norm
||
protocol
==
protocol_name
::
udp
;
#else
const
bool
subscribe_to_all
=
protocol
==
protocol_name
::
udp
;
#endif
pipe_t
*
newpipe
=
NULL
;
if
(
options
.
immediate
!=
1
||
subscribe_to_all
)
{
...
...
src/zmq.cpp
View file @
bb9135da
...
...
@@ -1477,7 +1477,7 @@ int zmq_has (const char *capability_)
return
true
;
#endif
#if defined(ZMQ_HAVE_OPENPGM)
if
(
strcmp
(
capability_
,
"pgm"
)
==
0
)
if
(
strcmp
(
capability_
,
zmq
::
protocol_name
::
pgm
)
==
0
)
return
true
;
#endif
#if defined(ZMQ_HAVE_TIPC)
...
...
@@ -1485,7 +1485,7 @@ int zmq_has (const char *capability_)
return
true
;
#endif
#if defined(ZMQ_HAVE_NORM)
if
(
strcmp
(
capability_
,
"norm"
)
==
0
)
if
(
strcmp
(
capability_
,
zmq
::
protocol_name
::
norm
)
==
0
)
return
true
;
#endif
#if defined(ZMQ_HAVE_CURVE)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment