mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-29 13:07:50 +00:00
[master] Merge branch 'trac2494'
This commit is contained in:
commit
db92f30af1
@ -53,6 +53,22 @@ The asynchronous I/O code encountered an error when trying to send data to
|
|||||||
the specified address on the given protocol. The number of the system
|
the specified address on the given protocol. The number of the system
|
||||||
error that caused the problem is given in the message.
|
error that caused the problem is given in the message.
|
||||||
|
|
||||||
|
% ASIODNS_UDP_ASYNC_SEND_FAIL Error sending UDP packet to %1: %2
|
||||||
|
The low-level ASIO library reported an error when trying to send a UDP
|
||||||
|
packet in asynchronous UDP mode. This can be any error reported by
|
||||||
|
send_to(), and can indicate problems such as too high a load on the network,
|
||||||
|
or a problem in the underlying library or system.
|
||||||
|
This packet is dropped and will not be sent, but service should resume
|
||||||
|
normally.
|
||||||
|
If you see a single occurrence of this message, it probably does not
|
||||||
|
indicate any significant problem, but if it is logged often, it is probably
|
||||||
|
a good idea to inspect your network traffic.
|
||||||
|
|
||||||
|
% ASIODNS_UDP_SYNC_SEND_FAIL Error sending UDP packet to %1: %2
|
||||||
|
The low-level ASIO library reported an error when trying to send a UDP
|
||||||
|
packet in synchronous UDP mode. See ASIODNS_UDP_ASYNC_SEND_FAIL for
|
||||||
|
more information.
|
||||||
|
|
||||||
% ASIODNS_UNKNOWN_ORIGIN unknown origin for ASIO error code %1 (protocol: %2, address %3)
|
% ASIODNS_UNKNOWN_ORIGIN unknown origin for ASIO error code %1 (protocol: %2, address %3)
|
||||||
An internal consistency check on the origin of a message from the
|
An internal consistency check on the origin of a message from the
|
||||||
asynchronous I/O module failed. This may indicate an internal error;
|
asynchronous I/O module failed. This may indicate an internal error;
|
||||||
|
@ -148,9 +148,15 @@ SyncUDPServer::handleRead(const asio::error_code& ec, const size_t length) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
asio::error_code ec;
|
||||||
socket_->send_to(asio::buffer(output_buffer_->getData(),
|
socket_->send_to(asio::buffer(output_buffer_->getData(),
|
||||||
output_buffer_->getLength()),
|
output_buffer_->getLength()),
|
||||||
sender_);
|
sender_, 0, ec);
|
||||||
|
if (ec) {
|
||||||
|
LOG_ERROR(logger, ASIODNS_UDP_SYNC_SEND_FAIL).
|
||||||
|
arg(sender_.address().to_string()).
|
||||||
|
arg(ec.message());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// And schedule handling another socket.
|
// And schedule handling another socket.
|
||||||
|
@ -299,10 +299,16 @@ UDPServer::operator()(asio::error_code ec, size_t length) {
|
|||||||
// Begin an asynchronous send, and then yield. When the
|
// Begin an asynchronous send, and then yield. When the
|
||||||
// send completes, we will resume immediately after this point
|
// send completes, we will resume immediately after this point
|
||||||
// (though we have nothing further to do, so the coroutine
|
// (though we have nothing further to do, so the coroutine
|
||||||
// will simply exit at that time).
|
// will simply exit at that time, after reporting an error if
|
||||||
|
// there was one).
|
||||||
CORO_YIELD data_->socket_->async_send_to(
|
CORO_YIELD data_->socket_->async_send_to(
|
||||||
buffer(data_->respbuf_->getData(), data_->respbuf_->getLength()),
|
buffer(data_->respbuf_->getData(), data_->respbuf_->getLength()),
|
||||||
*data_->sender_, *this);
|
*data_->sender_, *this);
|
||||||
|
if (ec) {
|
||||||
|
LOG_ERROR(logger, ASIODNS_UDP_ASYNC_SEND_FAIL).
|
||||||
|
arg(data_->sender_->address().to_string()).
|
||||||
|
arg(ec.message());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user