Преглед изворни кода
This changeset includes major fixes to the IPC from the executive
to the library. Also included is an entirely new API called the
EVS api (Extended Virtual Synchrony). This API provides EVS semantics
for those developers that require this model of programming. The
API is defined in include/evs.h and is very simple.
The API provides:
group semantics with 32 byte group keys.
delivery callback
configuration change callback
join one or more groups
leave one or more groups
multicast a message to the instance's joined groups
multicast a message to any other group
Makefile:
Add the testevs and evsbench targets.
evs.c, testevs.c, evsbench.c, evs.h:
new file
Makefile:
Add the evs library
util.c:
Major rewrite of saRecvQueue. Fixed is:
activate poll messages are not sent over and over
The message header is read into the return buffer
if the message doesn't match, a new message is allocated
This allows the message buffer for saRecvQueue to be
small, but allows receiving very large messages.
amf.c:
Mark a bug for later resolution
ais_msg.h:
Add the evs messages and descriptors.
Makefile:
Added the evs target.
main.h:
Added the EVS service and changed the library queue
to 256 entries.
main.c:
major rewrite of the IPC code for sending messages
to the library. What was there previously was very
broken.
gmi.c:
Fix bug where transition from multiple members to
single members would cause messages not to be sent.
Also fixed an assertion in transition from multiple
processors to one processor.
BKrev: 41343518pVUD6aQu4urTw6ClPiOl3w
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@216 fd59a12c-fef9-0310-b244-a6a79926bd2f