From e9fc92be203ac1cf5d321c38ae66dc7b942ace3e Mon Sep 17 00:00:00 2001 From: Steven Dake Date: Tue, 7 Sep 2004 15:18:12 +0000 Subject: [PATCH] (Logical change 1.65) git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@238 fd59a12c-fef9-0310-b244-a6a79926bd2f --- man/Makefile | 49 ++++++++++ man/evs_dispatch.3 | 100 ++++++++++++++++++++ man/evs_fd_get.3 | 67 ++++++++++++++ man/evs_finalize.3 | 63 +++++++++++++ man/evs_initialize.3 | 118 ++++++++++++++++++++++++ man/evs_join.3 | 102 +++++++++++++++++++++ man/evs_leave.3 | 97 ++++++++++++++++++++ man/evs_mcast_groups.3 | 202 +++++++++++++++++++++++++++++++++++++++++ man/evs_mcast_joined.3 | 175 +++++++++++++++++++++++++++++++++++ man/evs_overview.8 | 180 ++++++++++++++++++++++++++++++++++++ man/index.html | 29 ++++++ 11 files changed, 1182 insertions(+) diff --git a/man/Makefile b/man/Makefile index e69de29b..2dfa3ae6 100644 --- a/man/Makefile +++ b/man/Makefile @@ -0,0 +1,49 @@ +# Copyright (c) 2004 MontaVista Software, Inc. +# +# All rights reserved. +# +# This software licensed under BSD license, the text of which follows: +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# - Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# - Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# - Neither the name of the MontaVista Software, Inc. nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +# THE POSSIBILITY OF SUCH DAMAGE. + +all: html +# The index.html file must be hand edited when adding manual pages + +html: + mkdir html + groff -mandoc -Thtml evs_overview.8 > html/evs_overview.html + groff -mandoc -Thtml evs_initialize.3 > html/evs_initialize.html + groff -mandoc -Thtml evs_finalize.3 > html/evs_finalize.html + groff -mandoc -Thtml evs_fd_get.3 > html/evs_fd_get.html + groff -mandoc -Thtml evs_dispatch.3 > html/evs_dispatch.html + groff -mandoc -Thtml evs_join.3 > html/evs_join.html + groff -mandoc -Thtml evs_leave.3 > html/evs_leave.html + groff -mandoc -Thtml evs_mcast_groups.3 > html/evs_mcast_groups.html + groff -mandoc -Thtml evs_mcast_joined.3 > html/evs_mcast_joined.html + cp index.html html + +clean: + rm -rf html + diff --git a/man/evs_dispatch.3 b/man/evs_dispatch.3 index e69de29b..71f942d3 100644 --- a/man/evs_dispatch.3 +++ b/man/evs_dispatch.3 @@ -0,0 +1,100 @@ +.\"/* +.\" * Copyright (c) 2004 MontaVista Software, Inc. +.\" * +.\" * All rights reserved. +.\" * +.\" * Author: Steven Dake (sdake@mvista.com) +.\" * +.\" * This software licensed under BSD license, the text of which follows: +.\" * +.\" * Redistribution and use in source and binary forms, with or without +.\" * modification, are permitted provided that the following conditions are met: +.\" * +.\" * - Redistributions of source code must retain the above copyright notice, +.\" * this list of conditions and the following disclaimer. +.\" * - Redistributions in binary form must reproduce the above copyright notice, +.\" * this list of conditions and the following disclaimer in the documentation +.\" * and/or other materials provided with the distribution. +.\" * - Neither the name of the MontaVista Software, Inc. nor the names of its +.\" * contributors may be used to endorse or promote products derived from this +.\" * software without specific prior written permission. +.\" * +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +.\" * THE POSSIBILITY OF SUCH DAMAGE. +.\" */ +.TH EVS_DISPATCH 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual" +.SH NAME +evs_dispatch \- Dispatches callbacks from the EVS service +.SH SYNOPSIS +.B #include +.sp +.BI "int evs_dispatch(evs_handle_t *" handle ", evs_dispatch_t *" dispatch_types "); +.SH DESCRIPTION +The +.B evs_dispatch +function is used to dispatch configuration changes or messages from the +extended virtual synchrony API. +.PP +Each application may have several connections to the EVS API. Each application +uses the +.I handle +argument to uniquely identify the connection. +.PP +The +.I dispatch_types +argument is used to identify the type of dispatch to execute. The possible types are +defined by the structure: + +.IP +.RS +.ne 18 +.nf +.ta 4n 30n 33n +typedef enum { + EVS_DISPATCH_ONE, + EVS_DISPATCH_ALL, + EVS_DISPATCH_BLOCKING +} evs_dispatch_t; +.ta +.fi +.RE +.IP +.PP +.PP +The dispatch values have the following meanings: +.TP +.B EVS_DISPATCH_ONE +Dispatch atleast one callback, blocking until the callback is dispatched. +.TP +.B EVS_DISPATCH_ALL +Dispatch all waiting callbacks without blocking to wait for any callbacks. +.TP +.B EVS_DISPATCH_BLOCKING +Dispatch all callbacks blocking indefinately. This is used in a threaded +program where a thread is created, and then evs_dispatch() is called immediately +from the created thread to execute callbacks. + +.SH RETURN VALUE +This call returns the EVS_OK value if successful, otherwise an error is returned. +.PP +.SH ERRORS +The errors are undocumented. +.SH "SEE ALSO" +.BR evs_overview (8), +.BR evs_initialize (3), +.BR evs_finalize (3), +.BR evs_fd_get (3), +.BR evs_join (3), +.BR evs_leave (3), +.BR evs_mcast_joined (3), +.BR evs_mcast_groups (3) +.PP diff --git a/man/evs_fd_get.3 b/man/evs_fd_get.3 index e69de29b..9b87e7b4 100644 --- a/man/evs_fd_get.3 +++ b/man/evs_fd_get.3 @@ -0,0 +1,67 @@ +.\"/* +.\" * Copyright (c) 2004 MontaVista Software, Inc. +.\" * +.\" * All rights reserved. +.\" * +.\" * Author: Steven Dake (sdake@mvista.com) +.\" * +.\" * This software licensed under BSD license, the text of which follows: +.\" * +.\" * Redistribution and use in source and binary forms, with or without +.\" * modification, are permitted provided that the following conditions are met: +.\" * +.\" * - Redistributions of source code must retain the above copyright notice, +.\" * this list of conditions and the following disclaimer. +.\" * - Redistributions in binary form must reproduce the above copyright notice, +.\" * this list of conditions and the following disclaimer in the documentation +.\" * and/or other materials provided with the distribution. +.\" * - Neither the name of the MontaVista Software, Inc. nor the names of its +.\" * contributors may be used to endorse or promote products derived from this +.\" * software without specific prior written permission. +.\" * +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +.\" * THE POSSIBILITY OF SUCH DAMAGE. +.\" */ +.TH EVS_FD_GET 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual" +.SH NAME +evs_fd_get \- Dispatches callbacks from the EVS service +.SH SYNOPSIS +.B #include +.sp +.BI "int evs_fd_get(evs_handle_t *" handle ", int *" fd "); +.SH DESCRIPTION +The +.B evs_fd_get +function is used to retrieve the file descriptor that may be used with the poll +system call to determine when +.B evs_dispatch(3) +won't block. The +.I handle +argument may not be used directly with +.B poll +because it is not the file descriptor, but instead an internal identifier used +by the EVS library. +.SH RETURN VALUE +This call returns the EVS_OK value if successful, otherwise an error is returned. +.PP +.SH ERRORS +The errors are undocumented. +.SH "SEE ALSO" +.BR evs_overview (8), +.BR evs_initialize (3), +.BR evs_finalize (3), +.BR evs_dispatch (3), +.BR evs_join (3), +.BR evs_leave (3), +.BR evs_mcast_joined (3), +.BR evs_mcast_groups (3) +.PP diff --git a/man/evs_finalize.3 b/man/evs_finalize.3 index e69de29b..fd83ef6e 100644 --- a/man/evs_finalize.3 +++ b/man/evs_finalize.3 @@ -0,0 +1,63 @@ +.\"/* +.\" * Copyright (c) 2004 MontaVista Software, Inc. +.\" * +.\" * All rights reserved. +.\" * +.\" * Author: Steven Dake (sdake@mvista.com) +.\" * +.\" * This software licensed under BSD license, the text of which follows: +.\" * +.\" * Redistribution and use in source and binary forms, with or without +.\" * modification, are permitted provided that the following conditions are met: +.\" * +.\" * - Redistributions of source code must retain the above copyright notice, +.\" * this list of conditions and the following disclaimer. +.\" * - Redistributions in binary form must reproduce the above copyright notice, +.\" * this list of conditions and the following disclaimer in the documentation +.\" * and/or other materials provided with the distribution. +.\" * - Neither the name of the MontaVista Software, Inc. nor the names of its +.\" * contributors may be used to endorse or promote products derived from this +.\" * software without specific prior written permission. +.\" * +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +.\" * THE POSSIBILITY OF SUCH DAMAGE. +.\" */ +.TH EVS_FINALIZE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual" +.SH NAME +evs_finalize \- Terminate a connection to the EVS service +.SH SYNOPSIS +.B #include +.sp +.BI "int evs_finalize(evs_handle_t *" handle "); +.SH DESCRIPTION +The +.B evs_finalize +function is used to close a connection to the extended virtual synchrony API. +Once the connection is finalized, the handle may not be used again by applications. +No more callbacks will be dispatched from the +.B evs_dispatch function. +.PP +.SH RETURN VALUE +This call returns the EVS_OK value if successful, otherwise an error is returned. +.PP +.SH ERRORS +The errors are undocumented. +.SH "SEE ALSO" +.BR evs_overview (8), +.BR evs_initialize (3), +.BR evs_fd_get (3), +.BR evs_dispatch (3), +.BR evs_join (3), +.BR evs_leave (3), +.BR evs_mcast_joined (3), +.BR evs_mcast_groups (3) +.PP diff --git a/man/evs_initialize.3 b/man/evs_initialize.3 index e69de29b..edc2fc56 100644 --- a/man/evs_initialize.3 +++ b/man/evs_initialize.3 @@ -0,0 +1,118 @@ +.\"/* +.\" * Copyright (c) 2004 MontaVista Software, Inc. +.\" * +.\" * All rights reserved. +.\" * +.\" * Author: Steven Dake (sdake@mvista.com) +.\" * +.\" * This software licensed under BSD license, the text of which follows: +.\" * +.\" * Redistribution and use in source and binary forms, with or without +.\" * modification, are permitted provided that the following conditions are met: +.\" * +.\" * - Redistributions of source code must retain the above copyright notice, +.\" * this list of conditions and the following disclaimer. +.\" * - Redistributions in binary form must reproduce the above copyright notice, +.\" * this list of conditions and the following disclaimer in the documentation +.\" * and/or other materials provided with the distribution. +.\" * - Neither the name of the MontaVista Software, Inc. nor the names of its +.\" * contributors may be used to endorse or promote products derived from this +.\" * software without specific prior written permission. +.\" * +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +.\" * THE POSSIBILITY OF SUCH DAMAGE. +.\" */ +.TH EVS_INITIALIZE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual" +.SH NAME +evs_initialize \- Create a new connection to the EVS service +.SH SYNOPSIS +.B #include +.sp +.BI "int evs_initialize(evs_handle_t *" handle ", evs_callbacks_t *" callbacks "); +.SH DESCRIPTION +The +.B evs_initialize +function is used to initialize a connection to the extended virtual synchrony API. +.PP +Each application may have several connections to the EVS API. Each application +uses the +.I handle +argument to uniquely identify the connection. The +.I handle +argument is then used in other function calls to identify the connection to be used +for communication with the EVS service. +.PP +Every time an EVS event occurs, one of the callbacks specified by the argument +.I callbacks +is called. The callback functions are described by the following type definitions: +.PP +.IP +.RS +.ne 18 +.nf +.ta 4n 20n 32n +typedef void (*evs_deliver_fn_t) ( + struct in_addr source_addr, + void *msg, + int msg_len); + +typedef void (*evs_confchg_fn_t) ( + struct in_addr *member_list, int member_list_entries, + struct in_addr *left_list, int left_list_entries, + struct in_addr *joined_list, int joined_list_entries); +.ta +.fi +.RE +.IP +.PP +.PP +The +.I callbacks +argument is of the type: +.IP +.RS +.ne 18 +.nf +.PP +typedef struct { + evs_deliver_fn_t evs_deliver_fn; + evs_confchg_fn_t evs_confchg_fn; +} evs_callbacks_t; +.ta +.fi +.RE +.IP +.PP +When a configuration change occurs or a message is to be delivered one of the callbacks +is called from the +.B evs_dispatch() +function. If a configuration change occurs, +.I evs_confchg_fn +is called. If a delivery of a message occurs, +.I evs_deliver_fn +is called. + +.SH RETURN VALUE +This call returns the EVS_OK value if successful, otherwise an error is returned. +.PP +.SH ERRORS +The errors are undocumented. +.SH "SEE ALSO" +.BR evs_overview (8), +.BR evs_finalize (3), +.BR evs_fd_get (3), +.BR evs_dispatch (3), +.BR evs_join (3), +.BR evs_leave (3), +.BR evs_mcast_joined (3), +.BR evs_mcast_groups (3) +.PP diff --git a/man/evs_join.3 b/man/evs_join.3 index e69de29b..6a04615d 100644 --- a/man/evs_join.3 +++ b/man/evs_join.3 @@ -0,0 +1,102 @@ +.\"/* +.\" * Copyright (c) 2004 MontaVista Software, Inc. +.\" * +.\" * All rights reserved. +.\" * +.\" * Author: Steven Dake (sdake@mvista.com) +.\" * +.\" * This software licensed under BSD license, the text of which follows: +.\" * +.\" * Redistribution and use in source and binary forms, with or without +.\" * modification, are permitted provided that the following conditions are met: +.\" * +.\" * - Redistributions of source code must retain the above copyright notice, +.\" * this list of conditions and the following disclaimer. +.\" * - Redistributions in binary form must reproduce the above copyright notice, +.\" * this list of conditions and the following disclaimer in the documentation +.\" * and/or other materials provided with the distribution. +.\" * - Neither the name of the MontaVista Software, Inc. nor the names of its +.\" * contributors may be used to endorse or promote products derived from this +.\" * software without specific prior written permission. +.\" * +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +.\" * THE POSSIBILITY OF SUCH DAMAGE. +.\" */ +.TH EVS_JOIN 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual" +.SH NAME +evs_join \- Joins one or more groups in the EVS library +.SH SYNOPSIS +.B #include +.sp +.BI "int evs_join(evs_handle_t *" handle ", evs_group_t *" groups ", int " group_entries "); +.SH DESCRIPTION +The +.B evs_join +function is used to join one or more groups. When a group is joined, using the +.B evs_mcast_joined(3) +function will multicast to the groups joined in the argument +.I handle. +Messages that are sent to any of the groups joined to the parameter +.I handle +will be delivered by +.B evs_dispatch(3). +.PP +This call may be used more then once on a handle, in which case the joined groups will +be all of the groups passed to the +.B evs_join(3) +function during the lifecycle of the parameter +.I handle. +.PP + +The argument +.I groups +is used to specify the groups to join. A group is a 32 byte key. The key is +not a string, hence, the entire key is used when joining the channel. For that reason +the entire group should be initialized. +.PP +The argument +.I group_entries +specifies how many entries are located in the groups argument. + +The +.I groups +argument is of the type evs_group_t which is defined by the structure: + +.IP +.RS +.ne 18 +.nf +.ta 4n 30n 33n +typedef struct { + char key[32]; +} evs_groups_t; +.ta +.fi +.RE +.IP +.PP +.PP +.SH RETURN VALUE +This call returns the EVS_OK value if successful, otherwise an error is returned. +.PP +.SH ERRORS +The errors are undocumented. +.SH "SEE ALSO" +.BR evs_overview (8), +.BR evs_initialize (3), +.BR evs_finalize (3), +.BR evs_fd_get (3), +.BR evs_dispatch (3), +.BR evs_leave (3), +.BR evs_mcast_joined (3), +.BR evs_mcast_groups (3) +.PP diff --git a/man/evs_leave.3 b/man/evs_leave.3 index e69de29b..5cc83968 100644 --- a/man/evs_leave.3 +++ b/man/evs_leave.3 @@ -0,0 +1,97 @@ +.\"/* +.\" * Copyright (c) 2004 MontaVista Software, Inc. +.\" * +.\" * All rights reserved. +.\" * +.\" * Author: Steven Dake (sdake@mvista.com) +.\" * +.\" * This software licensed under BSD license, the text of which follows: +.\" * +.\" * Redistribution and use in source and binary forms, with or without +.\" * modification, are permitted provided that the following conditions are met: +.\" * +.\" * - Redistributions of source code must retain the above copyright notice, +.\" * this list of conditions and the following disclaimer. +.\" * - Redistributions in binary form must reproduce the above copyright notice, +.\" * this list of conditions and the following disclaimer in the documentation +.\" * and/or other materials provided with the distribution. +.\" * - Neither the name of the MontaVista Software, Inc. nor the names of its +.\" * contributors may be used to endorse or promote products derived from this +.\" * software without specific prior written permission. +.\" * +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +.\" * THE POSSIBILITY OF SUCH DAMAGE. +.\" */ +.TH EVS_LEAVE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual" +.SH NAME +evs_leave \- Leave one or more groups in the EVS library +.SH SYNOPSIS +.B #include +.sp +.BI "int evs_leave(evs_handle_t *" handle ", evs_group_t *" groups ", int group_entries); +.SH DESCRIPTION +The +.B evs_leave +function is used to leave one or more groups. The joined groups are used with +.B evs_mcast_joined(3) +function to multicast to the groups joined in the argument +.I handle. +Messages that are sent to any of the joined groups to the parameter +.I handle +will be delivered by +.B evs_dispatch(3). +.PP +This call may be used more then once on a handle. +.PP + +The argument +.I groups +is used to specify the groups to leave. A group is a 32 byte key. The key is +not a string, hence, the entire key is used when leaveing the channel. For that reason +the entire group should be initialized. +.PP +The argument +.I group_entries +specifies how many entries are located in the groups argument. + +The +.I groups +argument is of the type evs_group_t which is defined by the structure: + +.IP +.RS +.ne 18 +.nf +.ta 4n 30n 33n +typedef struct { + char key[32]; +} evs_groups_t; +.ta +.fi +.RE +.IP +.PP +.SH RETURN VALUE +This call returns the EVS_OK value if successful, otherwise an error is returned. +.PP +.SH ERRORS +The errors are undocumented. +.SH "SEE ALSO" +.BR evs_overview (8), +.BR evs_initialize (3), +.BR evs_finalize (3), +.BR evs_fd_get (3), +.BR evs_dispatch (3), +.BR evs_join (3), +.BR evs_mcast_joined (3), +.BR evs_mcast_groups (3) +.PP diff --git a/man/evs_mcast_groups.3 b/man/evs_mcast_groups.3 index e69de29b..fc9c3980 100644 --- a/man/evs_mcast_groups.3 +++ b/man/evs_mcast_groups.3 @@ -0,0 +1,202 @@ +.\"/* +.\" * Copyright (c) 2004 MontaVista Software, Inc. +.\" * +.\" * All rights reserved. +.\" * +.\" * Author: Steven Dake (sdake@mvista.com) +.\" * +.\" * This software licensed under BSD license, the text of which follows: +.\" * +.\" * Redistribution and use in source and binary forms, with or without +.\" * modification, are permitted provided that the following conditions are met: +.\" * +.\" * - Redistributions of source code must retain the above copyright notice, +.\" * this list of conditions and the following disclaimer. +.\" * - Redistributions in binary form must reproduce the above copyright notice, +.\" * this list of conditions and the following disclaimer in the documentation +.\" * and/or other materials provided with the distribution. +.\" * - Neither the name of the MontaVista Software, Inc. nor the names of its +.\" * contributors may be used to endorse or promote products derived from this +.\" * software without specific prior written permission. +.\" * +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +.\" * THE POSSIBILITY OF SUCH DAMAGE. +.\" */ +.TH EVS_MCAST_GROUPS 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual" +.SH NAME +evs_join \- Multicast a message to selected groups +.SH SYNOPSIS +.B #include +.B #include +.sp +.BI "int evs_mcast_gruops(evs_handle_t *" handle ", evs_guraantee_t " guarantee ", evs_priority_t " priority ", evs_group_t *" groups ", int group_entries, struct iovec *" iovec ", int " iov_len "); +.SH DESCRIPTION +The +.B evs_mcast_groups(3) +function multicasts a message to all the groups specified in the arguemnt +.I groups. +Messages are delivered to all processors in the system that are described by the current +configuration. +.PP +The argument +.I handle +describes a handle created with +.B evs_initialize(3). +.PP +The argument +.I guarantee +requests a delivery guarantee for the message to be sent. The evs_guarantee_t type is +defined by: +.IP +.RS +.ne 18 +.nf +.ta 4n 30n 33n +typedef enum { + EVS_TYPE_UNORDERED, /* not implemented */ + EVS_TYPE_FIFO, /* same as agreed */ + EVS_TYPE_AGREED, /* implemented */ + EVS_TYPE_SAFE /* not implemented */ +} evs_guarantee_t; +.ta +.fi +.RE +.IP +.PP +.PP +The meanings of the evs_gaurantee_t typedef are: +.TP +.B EVS_GUARANTEE_UNORDERED +Messages are guaranteed to be delivered, but with no particular order. This +mode is unimplemented in the EVS library. +.TP +.B EVS_GUARANTEE_FIFO +Messages are guaranteed to be delivered in first sent first delivery order +from one one. In fact, this guarantee is actually the AGREED guarantee. +.TP +.B EVS_GUARANTEE_AGREED +All processors must agree on the order of delivery. If a message is sent +from two or more processors at about the same time, the delivery will occur +in the same order to all processors. +.TP +.B EVS_GUARANTEE_SAFE +All processors must agree on the order of delivery. Further all processors +must have a copy of the message before any delivery takes place. This mode is +unimplemented in the EVS library. +.PP +The argument +.I priority +describes the priority at which a message will be sent. Messages will be sent with +higher priorities before messages with lower priorities. This requirement only applies +to the local processor. If two processors have two different priority messages, the +messages may be sent from either priority depending on the algorithm of the EVS library. + +The evs_priority_t typedef is described by: +.IP +.RS +.ne 18 +.nf +.ta 4n 30n 33n +typedef enum { + EVS_PRIO_RECOVERY, + EVS_PRIO_HIGH, + EVS_PRIO_MED, + EVS_PRIO_LOW +} evs_priority_t; +.ta +.fi +.RE +.IP +.PP +.PP +The meanings of the evs_priority_t typedef are: +.TP +.B EVS_PRIO_RECOVERY +Messages are sent from this priority level first. This priority level is used +for recovery of state after a partition or merge occurs. +.TP +.B EVS_PRIO_HIGH +Messages are sent from this priority level second. +.TP +.B EVS_PRIO_MED +Messages are sent from this priority level third. +.I groups +.TP +.B EVS_PRIO_LOW +Messages are sent from this priority level fourth. +.PP +The +.I groups +argument is of the type evs_group_t which is defined by the structure: + +.IP +.RS +.ne 18 +.nf +.ta 4n 30n 33n +typedef struct { + char key[32]; +} evs_groups_t; +.ta +.fi +.RE +.IP +.PP +.PP +The +.I group_entries +argument describes the number of entries in the +.I group +argument. +.PP + +The +.I iovec +argument describes the scatter/gather list which is used to transmit a message. This +is a standard socket structure described by: +.IP +.RS +.ne 18 +.nf +.ta 4n 30n 33n +struct iovec +{ + void *iov_base; /* Pointer to data. */ + size_t iov_len; /* Length of data. */ +}; +.ta +.fi +.RE +.IP +.PP +.PP +The +.I iovlen +argument describes the number of entires in the +.I iovec +argument. + +.SH RETURN VALUE +This call returns the EVS_OK value if successful, otherwise an error is returned. +.PP +.SH ERRORS +The errors are undocumented. +.SH "SEE ALSO" +.BR evs_overview (8), +.BR evs_initialize (3), +.BR evs_finalize (3), +.BR evs_fd_get (3), +.BR evs_dispatch (3), +.BR evs_leave (3), +.BR evs_join (3), +.BR evs_mcast_joined (3) +.PP diff --git a/man/evs_mcast_joined.3 b/man/evs_mcast_joined.3 index e69de29b..40b6d5b1 100644 --- a/man/evs_mcast_joined.3 +++ b/man/evs_mcast_joined.3 @@ -0,0 +1,175 @@ +.\"/* +.\" * Copyright (c) 2004 MontaVista Software, Inc. +.\" * +.\" * All rights reserved. +.\" * +.\" * Author: Steven Dake (sdake@mvista.com) +.\" * +.\" * This software licensed under BSD license, the text of which follows: +.\" * +.\" * Redistribution and use in source and binary forms, with or without +.\" * modification, are permitted provided that the following conditions are met: +.\" * +.\" * - Redistributions of source code must retain the above copyright notice, +.\" * this list of conditions and the following disclaimer. +.\" * - Redistributions in binary form must reproduce the above copyright notice, +.\" * this list of conditions and the following disclaimer in the documentation +.\" * and/or other materials provided with the distribution. +.\" * - Neither the name of the MontaVista Software, Inc. nor the names of its +.\" * contributors may be used to endorse or promote products derived from this +.\" * software without specific prior written permission. +.\" * +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +.\" * THE POSSIBILITY OF SUCH DAMAGE. +.\" */ +.TH EVS_MCAST_JOINED 3 3004-08-31 "openais Man Page" "Openais Programmer's Manual" +.SH NAME +evs_join \- Multicasts to all groups joined to an handle +.SH SYNOPSIS +.B #include +.B #include +.sp +.BI "int evs_mcast_joined(evs_handle_t *" handle ", evs_guraantee_t " guarantee ", evs_priority_t " priority ", struct iovec *" iovec ", int " iov_len "); +.SH DESCRIPTION +The +.B evs_mcast_joined +function is multicast a message to all the groups that have been joined with the +.B evs_join(3) +function for the argument +.I handle. +Messages that are sent to any of the groups joined to the parameter +.I handle +will be delivered to all processors in the system. +.PP +The argument +.I guarantee +requests a delivery guarantee for the message to be sent. The evs_guarantee_t type is +defined by: +.IP +.RS +.ne 18 +.nf +.ta 4n 30n 33n +typedef enum { + EVS_TYPE_UNORDERED, /* not implemented */ + EVS_TYPE_FIFO, /* same as agreed */ + EVS_TYPE_AGREED, /* implemented */ + EVS_TYPE_SAFE /* not implemented */ +} evs_guarantee_t; +.ta +.fi +.RE +.IP +.PP +.PP +The meanings of the evs_gaurantee_t typedef are: +.TP +.B EVS_GUARANTEE_UNORDERED +Messages are guaranteed to be delivered, but with no particular order. This +mode is unimplemented in the EVS library. +.TP +.B EVS_GUARANTEE_FIFO +Messages are guaranteed to be delivered in first sent first delivery order +from one one. In fact, this guarantee is actually the AGREED guarantee. +.TP +.B EVS_GUARANTEE_AGREED +All processors must agree on the order of delivery. If a message is sent +from two or more processors at about the same time, the delivery will occur +in the same order to all processors. +.TP +.B EVS_GUARANTEE_SAFE +All processors must agree on the order of delivery. Further all processors +must have a copy of the message before any delivery takes place. This mode is +unimplemented in the EVS library. +.PP +The argument +.I priority +describes the priority at which a message will be sent. Messages will be sent with +higher priorities before messages with lower priorities. This requirement only applies +to the local processor. If two processors have two different priority messages, the +messages may be sent from either priority depending on the algorithm of the EVS library. + +The evs_priority_t typedef is described by: +.IP +.RS +.ne 18 +.nf +.ta 4n 30n 33n +typedef enum { + EVS_PRIO_RECOVERY, + EVS_PRIO_HIGH, + EVS_PRIO_MED, + EVS_PRIO_LOW +} evs_priority_t; +.ta +.fi +.RE +.IP +.PP +.PP +The meanings of the evs_priority_t typedef are: +.TP +.B EVS_PRIO_RECOVERY +Messages are sent from this priority level first. This priority level is used +for recovery of state after a partition or merge occurs. +.TP +.B EVS_PRIO_HIGH +Messages are sent from this priority level second. +.TP +.B EVS_PRIO_MED +Messages are sent from this priority level third. +.I groups +.TP +.B EVS_PRIO_LOW +Messages are sent from this priority level fourth. +.PP +The +.I iovec +argument describes the scatter/gather list which is used to transmit a message. This +is a standard socket structure described by: +.IP +.RS +.ne 18 +.nf +.ta 4n 30n 33n +struct iovec +{ + void *iov_base; /* Pointer to data. */ + size_t iov_len; /* Length of data. */ +}; +.ta +.fi +.RE +.IP +.PP +.PP +The +.I iovlen +argument describes the number of entires in the +.I iovec +argument. + +.SH RETURN VALUE +This call returns the EVS_OK value if successful, otherwise an error is returned. +.PP +.SH ERRORS +The errors are undocumented. +.SH "SEE ALSO" +.BR evs_overview (8), +.BR evs_initialize (3), +.BR evs_finalize (3), +.BR evs_fd_get (3), +.BR evs_dispatch (3), +.BR evs_leave (3), +.BR evs_join (3), +.BR evs_mcast_groups (3) +.PP diff --git a/man/evs_overview.8 b/man/evs_overview.8 index e69de29b..24876fb5 100644 --- a/man/evs_overview.8 +++ b/man/evs_overview.8 @@ -0,0 +1,180 @@ +.\"/* +.\" * Copyright (c) 2004 MontaVista Software, Inc. +.\" * +.\" * All rights reserved. +.\" * +.\" * Author: Steven Dake (sdake@mvista.com) +.\" * +.\" * This software licensed under BSD license, the text of which follows: +.\" * +.\" * Redistribution and use in source and binary forms, with or without +.\" * modification, are permitted provided that the following conditions are met: +.\" * +.\" * - Redistributions of source code must retain the above copyright notice, +.\" * this list of conditions and the following disclaimer. +.\" * - Redistributions in binary form must reproduce the above copyright notice, +.\" * this list of conditions and the following disclaimer in the documentation +.\" * and/or other materials provided with the distribution. +.\" * - Neither the name of the MontaVista Software, Inc. nor the names of its +.\" * contributors may be used to endorse or promote products derived from this +.\" * software without specific prior written permission. +.\" * +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +.\" * THE POSSIBILITY OF SUCH DAMAGE. +.\" */ +.TH EVS_OVERVIEW 8 2004-08-31 "openais Man Page" "Openais Programmer's Manual" +.SH OVERVIEW +The EVS library is delivered with the openais project. This library is used +to create distributed applications that operate properly during partitions, merges, +and faults. +.PP +The library provides a mechanism to: +* handle abstraction for multiple instances of an EVS library in one application +* Deliver messages +* Deliver configuration changes +* join one or more groups +* leave one or more groups +* send messages to one or more groups +* send messages to currently joined groups +.PP +The EVS library implements a messaging model known as Extended Virtual Synchrony. +This model allows one sender to transmit to many receivers using standard UDP/IP. +UDP/IP is unreliable and unordered, so the EVS library applies ordering and reliability +to messages. Hardware multicast is used to avoid duplicated packets with two or more +receivers. Erroneous messages are corrected automatically by the library. +.PP +Certain gaurantees are provided by the EVS library. These guarantees are related to +message delivery and configuration change delivery. +.SH DEFINITIONS +.TP +.B multicast +A multicast occurs when a network interface card sends a UDP packet to multiple +receivers simulatenously. +.TP +.B processor +A processor is the entity that executes the extended virtual synchrony algorithms. +.TP +.B configuration +A configuration is the current description of the processors executing the extended +virtual syncrhony algorithm. +.TP +.B configuration change +A configuration change occurs when a new configuration is delivered. +.TP +.B partition +A partition occurs when a configuration splits into two or more configurations, or +a processor fails or is stopped and leaves the configuration. +.TP +.B merge +A merge occurs when two or more configurations join into a larger new configuration. When +a new processor starts up, it is treated as a configuration with only one processor +and a merge occurs. +.TP +.B fifo ordering +A message is FIFO ordered when one sender and one receiver agree on the order of the +messages sent. +.TP +.B agreed ordering +A message is AGREED ordered when all processors agree on the order of the messages sent. +.TP +.B safe ordering +A message is SAFE ordered when all processors agree on the order of messages sent and +those messages are not delivered until all processors have a copy of the message to +deliver. +.TP +.B virtual syncrhony +Virtual syncrhony is obtained when all processors agree on the order of messages +sent and configuration changes sent for each new configuration. +.SH USING VIRTUAL SYNCHRONY +The virtual synchrony messaging model has many benefits for developing distributed +applications. Applications designed using replication have the most benefits. Applications +that must be able to partition and merge also benefit from the virtual synchrony messaging +model. +.PP +All applications receive a copy of transmitted messages even if there are errors on the +transmission media. This allows optimiziations when every processor must receive a copy +of the message for replication. +.PP +All messages are ordered according to agreed ordering. This mechanism allows the avoidance +of race conditions. Consider a lock service implemented over several processors. Two +requests occur at the same time on two seperate processors. The requests are ordered for +every processor in the same order and delivered to the processors. Then all processors +will get request A before request B and can reject request B. Any type of creation or +deletion of a shared data structure can benefit from this mechanism. +.PP +Self delivery ensures that messages that are sent by a processor are also delivered back +to that processor. This allows the processor sending the message to execute logic when +the message is self delivered according to agreed ordering and the virtual synchrony rules. +It also permits all logic to be placed in one message handler instead of two seperate places. +.PP +Virtual Synchrony allows the current configuration to be used to make decisions in partitions +and merges. Since the configuration is sent in the stream of messages to the application, +the application can alter its behavior based upon the configuration changes. +.SH ARCHITECTURE AND ALGORITHM +The EVS library is a thin IPC interface to the openais executive. The openais executive +provides services for the SA Forum AIS libraries as well as the EVS library. +.PP +The openais executive uses a ring protocol and membership protocol to send messages +according to the semantics required by extended virtual synchrony. The ring protocol +creates a virtual ring of processors. A token is rotated around the ring of processors. +When the token is possessed by a processor, that processor may multicast messages to +other processors in the system. +.PP +The token is called the ORF token (for ordering, reliability, flow control). The ORF +token orders all messages by increasing a sequence number every time a message is +multicasted. In this way, an ordering is placed on all messages that all processors +agree to. The token also contains a retransmission list. If a token is received by +a processor that has not yet received a message it should have, a message sequence +number is added to the retransmission list. A processor that has a copy of the message +then retransmits the message. The ORF token provides configuration-wide flow control +by tracking the number of messages sent and limiting the number of messages that may +be sent by one processor on each posession of the token. +.PP +The membership protocol is responsible for ring formation and detecting when a processor +within a ring has failed. If the token fails to make a rotation within a timeout period +known as the token rotation timeout, the membership protocol will form a new ring. +If a new processor starts, it will also form a new ring. Two or more configurations +may be used to form a new ring, allowing many partitions to merge together into one +new configuration. +.SH PERFORMANCE +The EVS library obtains 8.5MB/sec throughput on 100 mbit network links with +many processors. Larger messages obtain better throughput results because the +time to access Ethernet is about the same for a small message as it is for a +larger message. Smaller messages obtain better messages per second, because the +time to send a message is not exactly the same. +.PP +80% of CPU utilization occurs because of encryption and authentication. The openais +can be built without encryption and authentication for those with no security +requirements and low CPU utilization requirements. Even without encryption or +authentication, under heavy load, processor utilization can reach 25% on 1.5 GHZ +CPU processors. +.PP +The current openais executive supports 16 processors, however, support for more processors is possible by changing defines in the openais executive. This is untested, however. +.SH SECURITY +The EVS library encrypts all messages sent over the network using the SOBER-128 +stream cipher. The EVS library uses HMAC and SHA1 to authenticate all messages. +The EVS library uses SOBER-128 as a pseudo random number generator. The EVS +library feeds the PRNG using the /dev/random Linux device. +.SH BUGS +This software is not yet production, so there may still be some bugs. But it appears +there are very few since nobody reports any unknown bugs at this point. +.SH "SEE ALSO" +.BR evs_initialize (3), +.BR evs_finalize (3), +.BR evs_fd_get (3), +.BR evs_dispatch (3), +.BR evs_join (3), +.BR evs_leave (3), +.BR evs_mcast_joined (3), +.BR evs_mcast_groups (3) + +.PP diff --git a/man/index.html b/man/index.html index e69de29b..dfb4d55e 100644 --- a/man/index.html +++ b/man/index.html @@ -0,0 +1,29 @@ + + +EVS Documentation + + + + +

+Welcome to the OpenAIS EVS (extended virtual synchrony) documentation. +

+evs_overview(8) +
+evs_initialize(3) +
+evs_finalize(3) +
+evs_dispatch(3) +
+evs_fd_get(3) +
+evs_join(3) +
+evs_leave(3) +
+evs_mcast_groups(3) +
+evs_mcast_joined(3) +

+