int AccessStatInfoMessage::get_counter_map(common::Stream& input, COUNTER_TYPE & map) { int32_t size = 0; int32_t iret = input.get_int32(&size); if (common::TFS_SUCCESS == iret) { common::Throughput t; int64_t pos = 0; int32_t id = 0; for (int32_t i = 0; i < size; ++i) { iret = input.get_int32(&id); if (common::TFS_SUCCESS != iret) break; pos = 0; iret = t.deserialize(input.get_data(), input.get_data_length(), pos); if (common::TFS_SUCCESS != iret) break; else { input.drain(t.length()); map.insert(COUNTER_TYPE::value_type(id, t)); } } } return iret; }
int ReplicateInfoMessage::get_counter_map(char** data, int32_t* len, COUNTER_TYPE & m) { int32_t i = 0; int32_t size = 0; uint64_t server_id = 0; uint32_t count = 0; if (get_int32(data, len, &size) == TFS_ERROR) { return TFS_ERROR; } for (i = 0; i < size; ++i) { if (get_int64(data, len, reinterpret_cast<int64_t*> (&server_id)) == TFS_ERROR) { return TFS_ERROR; } if (get_int32(data, len, reinterpret_cast<int32_t*> (&count)) == TFS_ERROR) { return TFS_ERROR; } m.insert(COUNTER_TYPE::value_type(server_id, count)); } return TFS_SUCCESS; }
int AccessStatInfoMessage::get_counter_map(char** data, int32_t* len, COUNTER_TYPE & map) { int32_t i = 0; int32_t size = 0; uint32_t server_id = 0; Throughput count; if (get_int32(data, len, &size) == TFS_ERROR) return TFS_ERROR; for (i = 0; i < size; ++i) { if (get_int32(data, len, (int32_t*) &server_id) == TFS_ERROR) return TFS_ERROR; if (get_object_copy(data, len, reinterpret_cast<void*> (&count), sizeof(Throughput)) == TFS_ERROR) { return TFS_ERROR; } map.insert(COUNTER_TYPE::value_type(server_id, count)); } return TFS_SUCCESS; }