169 if (locked_client_id_) {
171 "already handling client-id in ClientHandler::tryLock");
173 if (locked_hwaddr_) {
175 "already handling hwaddr in ClientHandler::tryLock");
179 OptionPtr opt_client_id = query->getOption(DHO_DHCP_CLIENT_IDENTIFIER);
182 client_id.reset(
new ClientId(opt_client_id->getData()));
185 if (hwaddr && hwaddr->hwaddr_.empty()) {
188 if (!client_id && !hwaddr) {
197 client_.reset(
new Client(query, client_id, hwaddr));
200 lock_guard<mutex> lk(mutex_);
205 holder_id = lookup(client_id);
207 locked_client_id_ = client_id;
210 next_query_id = holder_id->next_query_;
211 holder_id->next_query_ = query;
212 holder_id->cont_ = cont;
221 holder_hw = lookup(hwaddr);
223 locked_hwaddr_ = hwaddr;
227 next_query_hw = holder_hw->next_query_;
228 holder_hw->next_query_ = query;
229 holder_hw->cont_ = cont;
241 .arg(next_query_id->getHWAddrLabel())
242 .arg(next_query_id->toText())
243 .arg(this_thread::get_id())
244 .arg(holder_id->query_->getHWAddrLabel())
245 .arg(holder_id->query_->toText())
246 .arg(holder_id->thread_);
248 static_cast<int64_t
>(1));
254 .arg(query->getHWAddrLabel())
255 .arg(query->toText())
256 .arg(this_thread::get_id())
257 .arg(holder_id->query_->getHWAddrLabel())
258 .arg(holder_id->query_->toText())
259 .arg(holder_id->thread_);
261 static_cast<int64_t
>(1));
270 .arg(next_query_hw->getHWAddrLabel())
271 .arg(next_query_hw->toText())
272 .arg(this_thread::get_id())
273 .arg(holder_hw->query_->getHWAddrLabel())
274 .arg(holder_hw->query_->toText())
275 .arg(holder_hw->thread_);
277 static_cast<int64_t
>(1));
283 .arg(query->getHWAddrLabel())
284 .arg(query->toText())
285 .arg(this_thread::get_id())
286 .arg(holder_hw->query_->getHWAddrLabel())
287 .arg(holder_hw->query_->toText())
288 .arg(holder_hw->thread_);
290 static_cast<int64_t
>(1));