connection_post_bind

March 26, 2020 Contributors

Name

connection_post_bind

Synopsis

#include "hooks/core/connection_post_bind.h"

| int **connection_post_bind** ( | closure, |   |
|   | dr, |   |
|   | binding_slot, |   |
|   | fd, |   |
|   | addr, |   |
|   | addr_len); |   |

void * <var class="pdparam">closure</var>;
domain_record * <var class="pdparam">dr</var>;
int <var class="pdparam">binding_slot</var>;
int <var class="pdparam">fd</var>;
struct sockaddr * <var class="pdparam">addr</var>;
int <var class="pdparam">addr_len</var>;

| int **has_core_connection_post_bind_hook** ( | ); |   |

| void **register_core_connection_post_bind_hook_first** ( | hook, |   |
|   | closure); |   |

ec_hook_core_connection_post_bind_func_t <var class="pdparam">hook</var>;
void *<var class="pdparam">closure</var>;

| void **register_core_connection_post_bind_hook_last** ( | hook, |   |
|   | closure); |   |

ec_hook_core_connection_post_bind_func_t <var class="pdparam">hook</var>;
void *<var class="pdparam">closure</var>;

| int **call_core_connection_post_bind_hook** ( | dr, |   |
|   | binding_slot, |   |
|   | fd, |   |
|   | addr, |   |
|   | addr_len); |   |

domain_record * <var class="pdparam">dr</var>;
int <var class="pdparam">binding_slot</var>;
int <var class="pdparam">fd</var>;
struct sockaddr * <var class="pdparam">addr</var>;
int <var class="pdparam">addr_len</var>;

Description

This hook is invoked subsequent to the bind() call perform prior to any outbound connection attempt. dr is the domain record whose queue will be attempted on this connection if the connection should be established successfully. binding_slot is the MultiVIP™ binding slot on which the outbound connection was made. fd is the file descriptor of the socket itself. addr and addr_len represent the destination address that wil be used in a subsequent call to connect().

Return 0 on success. Returning non-zero will cause the connection attempt to aborted entirely.