• Jens Auer's avatar
    Fixed wrong handling of shared messages · 51cb57e2
    Jens Auer authored
    The shared reference count was not shared but copied. msg_t cannot
    store the refcnt itsef but has to store a pointer to an externally
    allocated (shared) refcnter. The changes to lmsg are reverted to
    use content_t again. Howver, this introduces an allocation in v2_decoder
    when creating the message which can be avoided. When allocating the reception
    buffer, space is allocated for the maximum number of reference counts
    (8192 / max_vsm_size = 8192/64 = 128 zmq:atomic_counter objects). This
    increases the buffer by 128*sizeof(atomic_counter) = 128*4 = 512 bytes only.
    When creating a message, the refcnt member is set to the address of one of the
    pre-allocated atomic_counter_t objects. To do so, a new msg_t type zcmsg
    is introduced because msg::copy must discriminate between the message types
    when releasing memory.
    51cb57e2
Name
Last commit
Last update
..
address.cpp Loading commit data...
address.hpp Loading commit data...
array.hpp Loading commit data...
atomic_counter.hpp Loading commit data...
atomic_ptr.hpp Loading commit data...
blob.hpp Loading commit data...
client.cpp Loading commit data...
client.hpp Loading commit data...
clock.cpp Loading commit data...
clock.hpp Loading commit data...
command.hpp Loading commit data...
condition_variable.hpp Loading commit data...
config.hpp Loading commit data...
ctx.cpp Loading commit data...
ctx.hpp Loading commit data...
curve_client.cpp Loading commit data...
curve_client.hpp Loading commit data...
curve_server.cpp Loading commit data...
curve_server.hpp Loading commit data...
dbuffer.hpp Loading commit data...
dealer.cpp Loading commit data...
dealer.hpp Loading commit data...
decoder.hpp Loading commit data...
devpoll.cpp Loading commit data...
devpoll.hpp Loading commit data...
dist.cpp Loading commit data...
dist.hpp Loading commit data...
encoder.hpp Loading commit data...
epoll.cpp Loading commit data...
epoll.hpp Loading commit data...
err.cpp Loading commit data...
err.hpp Loading commit data...
fd.hpp Loading commit data...
fq.cpp Loading commit data...
fq.hpp Loading commit data...
gssapi_client.cpp Loading commit data...
gssapi_client.hpp Loading commit data...
gssapi_mechanism_base.cpp Loading commit data...
gssapi_mechanism_base.hpp Loading commit data...
gssapi_server.cpp Loading commit data...
gssapi_server.hpp Loading commit data...
i_decoder.hpp Loading commit data...
i_encoder.hpp Loading commit data...
i_engine.hpp Loading commit data...
i_mailbox.hpp Loading commit data...
i_poll_events.hpp Loading commit data...
io_object.cpp Loading commit data...
io_object.hpp Loading commit data...
io_thread.cpp Loading commit data...
io_thread.hpp Loading commit data...
ip.cpp Loading commit data...
ip.hpp Loading commit data...
ipc_address.cpp Loading commit data...
ipc_address.hpp Loading commit data...
ipc_connecter.cpp Loading commit data...
ipc_connecter.hpp Loading commit data...
ipc_listener.cpp Loading commit data...
ipc_listener.hpp Loading commit data...
kqueue.cpp Loading commit data...
kqueue.hpp Loading commit data...
lb.cpp Loading commit data...
lb.hpp Loading commit data...
libzmq.pc.cmake.in Loading commit data...
libzmq.pc.in Loading commit data...
libzmq.vers Loading commit data...
likely.hpp Loading commit data...
mailbox.cpp Loading commit data...
mailbox.hpp Loading commit data...
mailbox_safe.cpp Loading commit data...
mailbox_safe.hpp Loading commit data...
mechanism.cpp Loading commit data...
mechanism.hpp Loading commit data...
metadata.cpp Loading commit data...
metadata.hpp Loading commit data...
msg.cpp Loading commit data...
msg.hpp Loading commit data...
mtrie.cpp Loading commit data...
mtrie.hpp Loading commit data...
mutex.hpp Loading commit data...
norm_engine.cpp Loading commit data...
norm_engine.hpp Loading commit data...
null_mechanism.cpp Loading commit data...
null_mechanism.hpp Loading commit data...
object.cpp Loading commit data...
object.hpp Loading commit data...
options.cpp Loading commit data...
options.hpp Loading commit data...
own.cpp Loading commit data...
own.hpp Loading commit data...
pair.cpp Loading commit data...
pair.hpp Loading commit data...
pgm_receiver.cpp Loading commit data...
pgm_receiver.hpp Loading commit data...
pgm_sender.cpp Loading commit data...
pgm_sender.hpp Loading commit data...
pgm_socket.cpp Loading commit data...
pgm_socket.hpp Loading commit data...
pipe.cpp Loading commit data...
pipe.hpp Loading commit data...
plain_client.cpp Loading commit data...
plain_client.hpp Loading commit data...
plain_server.cpp Loading commit data...
plain_server.hpp Loading commit data...
poll.cpp Loading commit data...
poll.hpp Loading commit data...
poller.hpp Loading commit data...
poller_base.cpp Loading commit data...
poller_base.hpp Loading commit data...
precompiled.cpp Loading commit data...
precompiled.hpp Loading commit data...
proxy.cpp Loading commit data...
proxy.hpp Loading commit data...
pub.cpp Loading commit data...
pub.hpp Loading commit data...
pull.cpp Loading commit data...
pull.hpp Loading commit data...
push.cpp Loading commit data...
push.hpp Loading commit data...
random.cpp Loading commit data...
random.hpp Loading commit data...
raw_decoder.cpp Loading commit data...
raw_decoder.hpp Loading commit data...
raw_encoder.cpp Loading commit data...
raw_encoder.hpp Loading commit data...
reaper.cpp Loading commit data...
reaper.hpp Loading commit data...
rep.cpp Loading commit data...
rep.hpp Loading commit data...
req.cpp Loading commit data...
req.hpp Loading commit data...
router.cpp Loading commit data...
router.hpp Loading commit data...
select.cpp Loading commit data...
select.hpp Loading commit data...
server.cpp Loading commit data...
server.hpp Loading commit data...
session_base.cpp Loading commit data...
session_base.hpp Loading commit data...
signaler.cpp Loading commit data...
signaler.hpp Loading commit data...
socket_base.cpp Loading commit data...
socket_base.hpp Loading commit data...
socks.cpp Loading commit data...
socks.hpp Loading commit data...
socks_connecter.cpp Loading commit data...
socks_connecter.hpp Loading commit data...
stdint.hpp Loading commit data...
stream.cpp Loading commit data...
stream.hpp Loading commit data...
stream_engine.cpp Loading commit data...
stream_engine.hpp Loading commit data...
sub.cpp Loading commit data...
sub.hpp Loading commit data...
tcp.cpp Loading commit data...
tcp.hpp Loading commit data...
tcp_address.cpp Loading commit data...
tcp_address.hpp Loading commit data...
tcp_connecter.cpp Loading commit data...
tcp_connecter.hpp Loading commit data...
tcp_listener.cpp Loading commit data...
tcp_listener.hpp Loading commit data...
thread.cpp Loading commit data...
thread.hpp Loading commit data...
tipc_address.cpp Loading commit data...
tipc_address.hpp Loading commit data...
tipc_connecter.cpp Loading commit data...
tipc_connecter.hpp Loading commit data...
tipc_listener.cpp Loading commit data...
tipc_listener.hpp Loading commit data...
trie.cpp Loading commit data...
trie.hpp Loading commit data...
v1_decoder.cpp Loading commit data...
v1_decoder.hpp Loading commit data...
v1_encoder.cpp Loading commit data...
v1_encoder.hpp Loading commit data...
v2_decoder.cpp Loading commit data...
v2_decoder.hpp Loading commit data...
v2_encoder.cpp Loading commit data...
v2_encoder.hpp Loading commit data...
v2_protocol.hpp Loading commit data...
version.rc.in Loading commit data...
windows.hpp Loading commit data...
wire.hpp Loading commit data...
xpub.cpp Loading commit data...
xpub.hpp Loading commit data...
xsub.cpp Loading commit data...
xsub.hpp Loading commit data...
ypipe.hpp Loading commit data...
ypipe_base.hpp Loading commit data...
ypipe_conflate.hpp Loading commit data...
yqueue.hpp Loading commit data...
zmq.cpp Loading commit data...
zmq_utils.cpp Loading commit data...