/*
called when we should try and establish a tcp connection to a node
*/
-void ctdb_tcp_node_connect(struct tevent_context *ev, struct tevent_timer *te,
- struct timeval t, void *private_data)
+static void ctdb_tcp_start_outgoing(struct ctdb_node *node)
{
- struct ctdb_node *node = talloc_get_type(private_data,
- struct ctdb_node);
struct ctdb_tcp_node *tnode = talloc_get_type(node->transport_data,
struct ctdb_tcp_node);
struct ctdb_context *ctdb = node->ctdb;
ctdb_sock_addr sock_out;
int ret;
- ctdb_tcp_stop_outgoing(node);
-
sock_out = node->address;
tnode->out_fd = socket(sock_out.sa.sa_family, SOCK_STREAM, IPPROTO_TCP);
node);
}
+void ctdb_tcp_node_connect(struct tevent_context *ev,
+ struct tevent_timer *te,
+ struct timeval t,
+ void *private_data)
+{
+ struct ctdb_node *node = talloc_get_type_abort(private_data,
+ struct ctdb_node);
+
+ ctdb_tcp_stop_outgoing(node);
+ ctdb_tcp_start_outgoing(node);
+}
+
/*
called when we get contacted by another node
currently makes no attempt to check if the connection is really from a ctdb