~tangent-trunk/libmemcached/1.0

« back to all changes in this revision

Viewing changes to libmemcached/version.cc

  • Committer: Continuous Integration
  • Date: 2012-12-31 10:53:13 UTC
  • mfrom: (1121.1.14 libmemcached-1.0)
  • Revision ID: ci@tangent.org-20121231105313-fjxoa7lih4i5h5q8
Merge lp:~tangent-org/libmemcached/1.0-build/ Build: jenkins-Libmemcached-181

Show diffs side-by-side

added added

removed removed

Lines of Context:
41
41
  return LIBMEMCACHED_VERSION_STRING;
42
42
}
43
43
 
44
 
static inline memcached_return_t memcached_version_textual(memcached_st *ptr)
 
44
static inline memcached_return_t memcached_version_textual(memcached_st *memc)
45
45
{
46
46
  libmemcached_io_vector_st vector[]=
47
47
  {
50
50
 
51
51
  uint32_t success= 0;
52
52
  bool errors_happened= false;
53
 
  for (uint32_t x= 0; x < memcached_server_count(ptr); x++)
 
53
  for (uint32_t x= 0; x < memcached_server_count(memc); x++)
54
54
  {
55
 
    org::libmemcached::Instance* instance= memcached_instance_fetch(ptr, x);
 
55
    org::libmemcached::Instance* instance= memcached_instance_fetch(memc, x);
56
56
 
57
57
    // Optimization, we only fetch version once.
58
58
    if (instance->major_version != UINT8_MAX)
75
75
    // Collect the returned items
76
76
    org::libmemcached::Instance* instance;
77
77
    memcached_return_t readable_error;
78
 
    while ((instance= memcached_io_get_readable_server(ptr, readable_error)))
 
78
    while ((instance= memcached_io_get_readable_server(memc, readable_error)))
79
79
    {
80
80
      memcached_return_t rrc= memcached_response(instance, NULL);
81
81
      if (memcached_failed(rrc))
89
89
  return errors_happened ? MEMCACHED_SOME_ERRORS : MEMCACHED_SUCCESS;
90
90
}
91
91
 
92
 
static inline memcached_return_t memcached_version_binary(memcached_st *ptr)
 
92
static inline memcached_return_t memcached_version_binary(memcached_st *memc)
93
93
{
94
94
  protocol_binary_request_version request= {};
95
95
 
103
103
 
104
104
  uint32_t success= 0;
105
105
  bool errors_happened= false;
106
 
  for (uint32_t x= 0; x < memcached_server_count(ptr); x++) 
 
106
  for (uint32_t x= 0; x < memcached_server_count(memc); x++) 
107
107
  {
108
 
    org::libmemcached::Instance* instance= memcached_instance_fetch(ptr, x);
 
108
    org::libmemcached::Instance* instance= memcached_instance_fetch(memc, x);
109
109
 
110
110
    initialize_binary_request(instance, request.message.header);
111
111
 
130
130
    // Collect the returned items
131
131
    org::libmemcached::Instance* instance;
132
132
    memcached_return_t readable_error;
133
 
    while ((instance= memcached_io_get_readable_server(ptr, readable_error)))
 
133
    while ((instance= memcached_io_get_readable_server(memc, readable_error)))
134
134
    {
135
135
      char buffer[32];
136
136
      memcached_return_t rrc= memcached_response(instance, buffer, sizeof(buffer), NULL);
202
202
  }
203
203
}
204
204
 
205
 
memcached_return_t memcached_version(memcached_st *ptr)
 
205
memcached_return_t memcached_version(memcached_st *memc)
206
206
{
207
 
  if (ptr)
 
207
  if (memc)
208
208
  {
209
209
    memcached_return_t rc;
210
 
    if (memcached_failed(rc= initialize_query(ptr, true)))
 
210
    if (memcached_failed(rc= initialize_query(memc, true)))
211
211
    {
212
212
      return rc;
213
213
    }
214
214
 
215
 
    if (memcached_is_udp(ptr))
 
215
    if (memcached_is_udp(memc))
216
216
    {
217
217
      return MEMCACHED_NOT_SUPPORTED;
218
218
    }
219
219
 
220
 
    if (memcached_is_binary(ptr))
 
220
    if (memcached_is_binary(memc))
221
221
    {
222
 
      return memcached_version_binary(ptr);
 
222
      return memcached_version_binary(memc);
223
223
    }
224
224
 
225
 
    return memcached_version_textual(ptr);      
 
225
    return memcached_version_textual(memc);      
226
226
  }
227
227
 
228
228
  return MEMCACHED_INVALID_ARGUMENTS;