4 This closes all connections (forces flush of input as well).
6 Maybe add a host specific, or key specific version?
8 The reason we send "quit" is that in case we have buffered IO, this
9 will force data to be completed.
12 void memcached_quit_server(memcached_st
*ptr
, unsigned int server_key
, uint8_t io_death
)
14 if (server_key
> ptr
->number_of_hosts
)
20 if (ptr
->hosts
[server_key
].fd
!= -1)
25 rc
= memcached_do(ptr
, server_key
, "quit\r\n", 6, 1);
26 WATCHPOINT_ASSERT(rc
== MEMCACHED_SUCCESS
|| rc
== MEMCACHED_FETCH_NOTFINISHED
);
28 memcached_io_close(ptr
, server_key
);
31 ptr
->hosts
[server_key
].fd
= -1;
32 ptr
->hosts
[server_key
].write_buffer_offset
= 0;
33 ptr
->hosts
[server_key
].read_buffer_length
= 0;
34 ptr
->hosts
[server_key
].read_ptr
= ptr
->hosts
[server_key
].read_buffer
;
35 ptr
->hosts
[server_key
].write_ptr
= ptr
->hosts
[server_key
].write_buffer
;
36 memcached_server_response_reset(ptr
, server_key
);
42 void memcached_quit(memcached_st
*ptr
)
46 if (ptr
->hosts
== NULL
||
47 ptr
->number_of_hosts
== 0)
50 if (ptr
->hosts
&& ptr
->number_of_hosts
)
52 for (x
= 0; x
< ptr
->number_of_hosts
; x
++)
53 memcached_quit_server(ptr
, x
, 0);