xfrin_log(xfr, ISC_LOG_INFO,
"Transfer completed: %d messages, %d records, "
"%" PRIu64 " bytes, "
- "%u.%03u secs (%u bytes/sec)",
+ "%u.%03u secs (%u bytes/sec) (serial %u)",
xfr->nmsg, xfr->nrecs, xfr->nbytes,
(unsigned int)(msecs / 1000), (unsigned int)(msecs % 1000),
- (unsigned int)persec);
+ (unsigned int)persec, xfr->end_serial);
if (xfr->socket != NULL) {
isc_socket_detach(&xfr->socket);
bool shuttingdown;
bool poll;
const char *mnemonic; /* Style of transfer */
+ uint32_t end_serial; /* Serial number after XFR is done */
struct xfr_stats stats; /*%< Transfer statistics */
} xfrout_ctx_t;
(format == dns_many_answers) ? true : false, &xfr);
}
+ xfr->end_serial = current_serial;
xfr->mnemonic = mnemonic;
stream = NULL;
quota = NULL;
"%s ended: "
"%" PRIu64 " messages, %" PRIu64 " records, "
"%" PRIu64 " bytes, "
- "%u.%03u secs (%u bytes/sec)",
+ "%u.%03u secs (%u bytes/sec) (serial %u)",
xfr->mnemonic, xfr->stats.nmsg, xfr->stats.nrecs,
xfr->stats.nbytes, (unsigned int)(msecs / 1000),
- (unsigned int)(msecs % 1000), (unsigned int)persec);
+ (unsigned int)(msecs % 1000), (unsigned int)persec,
+ xfr->end_serial);
xfrout_ctx_destroy(&xfr);
/* We're done, unreference the handle */