4
0
Эх сурвалжийг харах

totemnet: Add totemnet_member_set_active

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 <jfriesse@redhat.com>
Reviewed-by: Christine Caulfield <ccaulfie@redhat.com>
Jan Friesse 11 жил өмнө
parent
commit
3dafc4c508
2 өөрчлөгдсөн 28 нэмэгдсэн , 0 устгасан
  1. 23 0
      exec/totemnet.c
  2. 5 0
      exec/totemnet.h

+ 23 - 0
exec/totemnet.c

@@ -122,6 +122,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[] = {
@@ -460,3 +465,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);
+}

+ 5 - 0
exec/totemnet.h

@@ -124,4 +124,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 */