]> git.proxmox.com Git - mirror_corosync.git/commit
cpg: Add support for messages larger than 1Mb
authorChristine Caulfield <ccaulfie@redhat.com>
Thu, 5 Mar 2015 16:45:15 +0000 (16:45 +0000)
committerChristine Caulfield <ccaulfie@redhat.com>
Thu, 5 Mar 2015 16:45:15 +0000 (16:45 +0000)
commit8cc8e513633a1a8b12c416e32fb5362fcf4d65dd
treebf3f5e5001de6e27219aedf165a94e74e1164eac
parent5d9acc5604eb4e8a739cb37a4ad46bcc5ad8deb6
cpg: Add support for messages larger than 1Mb

If a cpg client sends a message larger than 1Mb (actually slightly
less to allow for internal buffers) cpg will now fragment that into
several corosync messages before sending it around the ring.

cpg_mcast_joined() can now return CS_ERR_INTERRUPT which means that the
cpg membership was disrupted during the send operation and the message
needs to be resent.

The new API call cpg_max_atomic_msgsize_get() returns the maximum size
of a message that will not be fragmented internally.

New test program cpghum was written to stress test this functionality,
it checks message integrity and order of receipt.

Signed-off-by: Christine Caulfield <ccaulfie@redhat.com>
Reviewed-by: Jan Friesse <jfriesse@redhat.com>
configure.ac
corosync.spec.in
exec/cpg.c
include/corosync/cpg.h
include/corosync/ipc_cpg.h
lib/cpg.c
test/Makefile.am