self->request_id= 0;
self->server_failure_counter= 0;
self->server_failure_counter_query_id= 0;
+ self->server_timeout_counter= 0;
+ self->server_timeout_counter_query_id= 0;
self->weight= weight ? weight : 1; // 1 is the default weight value
self->io_wait_count.read= 0;
self->io_wait_count.write= 0;
return self->number_of_hosts;
}
-const char *memcached_server_name(const memcached_server_instance_st self)
+const char *memcached_server_name(const memcached_instance_st * self)
{
WATCHPOINT_ASSERT(self);
if (self)
{
- return self->hostname;
+ return self->_hostname;
}
return NULL;
}
-in_port_t memcached_server_port(const memcached_server_instance_st self)
+in_port_t memcached_server_port(const memcached_instance_st * self)
{
WATCHPOINT_ASSERT(self);
if (self == NULL)
return self->port();
}
-uint32_t memcached_server_response_count(const memcached_server_instance_st self)
+in_port_t memcached_server_srcport(const memcached_instance_st * self)
+{
+ WATCHPOINT_ASSERT(self);
+ if (self == NULL || self->fd == INVALID_SOCKET || (self->type != MEMCACHED_CONNECTION_TCP && self->type != MEMCACHED_CONNECTION_UDP))
+ {
+ return 0;
+ }
+
+ struct sockaddr_in sin;
+ socklen_t addrlen= sizeof(sin);
+ if (getsockname(self->fd, (struct sockaddr*)&sin, &addrlen) != -1)
+ {
+ return ntohs(sin.sin_port);
+ }
+
+ return -1;
+}
+
+uint32_t memcached_server_response_count(const memcached_instance_st * self)
{
WATCHPOINT_ASSERT(self);
if (self == NULL)
return self->cursor_active_;
}
-const char *memcached_server_type(const memcached_server_instance_st ptr)
+const char *memcached_server_type(const memcached_instance_st * ptr)
{
if (ptr)
{
return "UNKNOWN";
}
-uint8_t memcached_server_major_version(const memcached_server_instance_st instance)
+uint8_t memcached_server_major_version(const memcached_instance_st * instance)
{
if (instance)
{
return UINT8_MAX;
}
-uint8_t memcached_server_minor_version(const memcached_server_instance_st instance)
+uint8_t memcached_server_minor_version(const memcached_instance_st * instance)
{
if (instance)
{
return UINT8_MAX;
}
-uint8_t memcached_server_micro_version(const memcached_server_instance_st instance)
+uint8_t memcached_server_micro_version(const memcached_instance_st * instance)
{
if (instance)
{