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
5 years ago
by
Luca Boccassi
Committed by
GitHub
5 years ago
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
No related merge requests found
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
...
...
This diff is collapsed.
Click to expand it.
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'
...
...
This diff is collapsed.
Click to expand it.
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
)
{
...
...
This diff is collapsed.
Click to expand it.
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)
...
...
This diff is collapsed.
Click to expand it.
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