X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Finstance.cc;h=50d6388ef884587da588532f6df46ba3b8a6f17f;hb=5d44e2b91e7055316b538128ec37c0fa81bbc28d;hp=1414d7251c453ac127073001b7957f864b2cbcf6;hpb=e2a304a85b65f4f739d63ddb2d6697c8e0a1b722;p=awesomized%2Flibmemcached diff --git a/libmemcached/instance.cc b/libmemcached/instance.cc index 1414d725..50d6388e 100644 --- a/libmemcached/instance.cc +++ b/libmemcached/instance.cc @@ -44,6 +44,9 @@ static inline void _server_init(org::libmemcached::Instance* self, memcached_st { self->options.is_shutting_down= false; self->options.is_dead= false; + self->options.ready= false; + self->_events= 0; + self->_revents= 0; self->cursor_active_= 0; self->port_= port; self->fd= INVALID_SOCKET; @@ -108,6 +111,27 @@ static org::libmemcached::Instance* _server_create(org::libmemcached::Instance* return self; } +void org::libmemcached::Instance::events(short arg) +{ + if ((_events | arg) == _events) + { + return; + } + + _events|= arg; +} + +void org::libmemcached::Instance::revents(short arg) +{ + if (arg) + { + options.ready= true; + } + + _revents= arg; + _events&= short(~arg); +} + org::libmemcached::Instance* __instance_create_with(memcached_st *memc, org::libmemcached::Instance* self, const memcached_string_t& hostname, @@ -136,11 +160,6 @@ org::libmemcached::Instance* __instance_create_with(memcached_st *memc, memcached_io_init_udp_header(self, 0); } - if (memc) - { - memcached_connect_try(self); - } - return self; }