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
9bd309bd
Commit
9bd309bd
authored
Dec 01, 2009
by
Martin Sustrik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
annoying optimisation in 'bind' command removed
parent
c04583ff
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
14 additions
and
28 deletions
+14
-28
command.hpp
src/command.hpp
+1
-3
object.cpp
src/object.cpp
+4
-7
object.hpp
src/object.hpp
+3
-3
session.cpp
src/session.cpp
+2
-3
socket_base.cpp
src/socket_base.cpp
+3
-10
socket_base.hpp
src/socket_base.hpp
+1
-2
No files found.
src/command.hpp
View file @
9bd309bd
...
...
@@ -69,12 +69,10 @@ namespace zmq
}
attach
;
// Sent from session to socket to establish pipe(s) between them.
// If adjust_seqnum is true, caller have used inc_seqnum beforehand
// and thus the callee should take care of catching up.
// Caller have used inc_seqnum beforehand sending the command.
struct
{
class
reader_t
*
in_pipe
;
class
writer_t
*
out_pipe
;
bool
adjust_seqnum
;
}
bind
;
// Sent by pipe writer to inform dormant pipe reader that there
...
...
src/object.cpp
View file @
9bd309bd
...
...
@@ -83,8 +83,7 @@ void zmq::object_t::process_command (command_t &cmd_)
return
;
case
command_t
:
:
bind
:
process_bind
(
cmd_
.
args
.
bind
.
in_pipe
,
cmd_
.
args
.
bind
.
out_pipe
,
cmd_
.
args
.
bind
.
adjust_seqnum
);
process_bind
(
cmd_
.
args
.
bind
.
in_pipe
,
cmd_
.
args
.
bind
.
out_pipe
);
return
;
case
command_t
:
:
pipe_term
:
...
...
@@ -183,15 +182,14 @@ void zmq::object_t::send_attach (session_t *destination_, i_engine *engine_)
send_command
(
cmd
);
}
void
zmq
::
object_t
::
send_bind
(
object
_t
*
destination_
,
reader_t
*
in_pipe_
,
writer_t
*
out_pipe_
,
bool
adjust_seqnum_
)
void
zmq
::
object_t
::
send_bind
(
socket_base
_t
*
destination_
,
reader_t
*
in_pipe_
,
writer_t
*
out_pipe_
)
{
command_t
cmd
;
cmd
.
destination
=
destination_
;
cmd
.
type
=
command_t
::
bind
;
cmd
.
args
.
bind
.
in_pipe
=
in_pipe_
;
cmd
.
args
.
bind
.
out_pipe
=
out_pipe_
;
cmd
.
args
.
bind
.
adjust_seqnum
=
adjust_seqnum_
;
send_command
(
cmd
);
}
...
...
@@ -265,8 +263,7 @@ void zmq::object_t::process_attach (i_engine *engine_)
zmq_assert
(
false
);
}
void
zmq
::
object_t
::
process_bind
(
reader_t
*
in_pipe_
,
writer_t
*
out_pipe_
,
bool
adjust_seqnum_
)
void
zmq
::
object_t
::
process_bind
(
reader_t
*
in_pipe_
,
writer_t
*
out_pipe_
)
{
zmq_assert
(
false
);
}
...
...
src/object.hpp
View file @
9bd309bd
...
...
@@ -68,8 +68,8 @@ namespace zmq
class
owned_t
*
object_
);
void
send_attach
(
class
session_t
*
destination_
,
struct
i_engine
*
engine_
);
void
send_bind
(
object_t
*
destination_
,
class
reader_t
*
in_pipe
_
,
class
writer_t
*
out_pipe_
,
bool
adjust_seqnum
_
);
void
send_bind
(
class
socket_base_t
*
destination
_
,
class
reader_t
*
in_pipe_
,
class
writer_t
*
out_pipe
_
);
void
send_revive
(
class
object_t
*
destination_
);
void
send_pipe_term
(
class
writer_t
*
destination_
);
void
send_pipe_term_ack
(
class
reader_t
*
destination_
);
...
...
@@ -85,7 +85,7 @@ namespace zmq
virtual
void
process_own
(
class
owned_t
*
object_
);
virtual
void
process_attach
(
struct
i_engine
*
engine_
);
virtual
void
process_bind
(
class
reader_t
*
in_pipe_
,
class
writer_t
*
out_pipe_
,
bool
adjust_seqnum_
);
class
writer_t
*
out_pipe_
);
virtual
void
process_revive
();
virtual
void
process_pipe_term
();
virtual
void
process_pipe_term_ack
();
...
...
src/session.cpp
View file @
9bd309bd
...
...
@@ -151,10 +151,9 @@ void zmq::session_t::process_plug ()
out_pipe
->
set_endpoint
(
this
);
}
// Note that initial call to inc_seqnum was optimised out. Last
// parameter conveys the fact to the callee.
owner
->
inc_seqnum
();
send_bind
(
owner
,
outbound
?
&
outbound
->
reader
:
NULL
,
inbound
?
&
inbound
->
writer
:
NULL
,
false
);
inbound
?
&
inbound
->
writer
:
NULL
);
}
owned_t
::
process_plug
();
...
...
src/socket_base.cpp
View file @
9bd309bd
...
...
@@ -161,7 +161,7 @@ int zmq::socket_base_t::connect (const char *addr_)
// was incremented in find_endpoint function. The callee is notified
// about the fact via the last parameter.
send_bind
(
peer
,
out_pipe
?
&
out_pipe
->
reader
:
NULL
,
in_pipe
?
&
in_pipe
->
writer
:
NULL
,
true
);
in_pipe
?
&
in_pipe
->
writer
:
NULL
);
return
0
;
}
...
...
@@ -509,16 +509,9 @@ void zmq::socket_base_t::process_own (owned_t *object_)
io_objects
.
insert
(
object_
);
}
void
zmq
::
socket_base_t
::
process_bind
(
reader_t
*
in_pipe_
,
writer_t
*
out_pipe_
,
bool
adjust_seqnum_
)
void
zmq
::
socket_base_t
::
process_bind
(
reader_t
*
in_pipe_
,
writer_t
*
out_pipe_
)
{
// In case of inproc transport, the seqnum should catch up here.
// For other transports the seqnum modification can be optimised out
// because final handshaking between the socket and the session ensures
// that no 'bind' command will be left unprocessed.
if
(
adjust_seqnum_
)
processed_seqnum
++
;
processed_seqnum
++
;
attach_pipes
(
in_pipe_
,
out_pipe_
);
}
...
...
src/socket_base.hpp
View file @
9bd309bd
...
...
@@ -114,8 +114,7 @@ namespace zmq
// Handlers for incoming commands.
void
process_own
(
class
owned_t
*
object_
);
void
process_bind
(
class
reader_t
*
in_pipe_
,
class
writer_t
*
out_pipe_
,
bool
adjust_seqnum_
);
void
process_bind
(
class
reader_t
*
in_pipe_
,
class
writer_t
*
out_pipe_
);
void
process_term_req
(
class
owned_t
*
object_
);
void
process_term_ack
();
...
...
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