totemnet_member_set_active together with transport specific
member_set_active makes possible for totemnet (and more interestingly
transport) to be informed about membership changes.

Signed-off-by: Jan Friesse <[email protected]>
---
 exec/totemnet.c |   23 +++++++++++++++++++++++
 exec/totemnet.h |    5 +++++
 2 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/exec/totemnet.c b/exec/totemnet.c
index 2571d92..85e35ea 100644
--- a/exec/totemnet.c
+++ b/exec/totemnet.c
@@ -130,6 +130,11 @@ struct transport {
        int (*member_remove) (
                void *transport_context,
                const struct totem_ip_address *member);
+
+       int (*member_set_active) (
+               void *transport_context,
+               const struct totem_ip_address *member,
+               int active);
 };
 
 struct transport transport_entries[] = {
@@ -492,3 +497,21 @@ extern int totemnet_member_remove (
 
        return (res);
 }
+
+int totemnet_member_set_active (
+       void *net_context,
+       const struct totem_ip_address *member,
+       int active)
+{
+       struct totemnet_instance *instance = (struct totemnet_instance 
*)net_context;
+       unsigned int res = 0;
+
+       if (instance->transport->member_set_active) {
+               res = instance->transport->member_set_active (
+                       instance->transport_context,
+                       member,
+                       active);
+       }
+
+       return (res);
+}
diff --git a/exec/totemnet.h b/exec/totemnet.h
index 0adc107..cede214 100644
--- a/exec/totemnet.h
+++ b/exec/totemnet.h
@@ -133,4 +133,9 @@ extern int totemnet_member_remove (
        void *net_context,
        const struct totem_ip_address *member);
 
+extern int totemnet_member_set_active (
+       void *net_context,
+       const struct totem_ip_address *member,
+       int active);
+
 #endif /* TOTEMNET_H_DEFINED */
-- 
1.7.1

_______________________________________________
discuss mailing list
[email protected]
http://lists.corosync.org/mailman/listinfo/discuss

Reply via email to