result->tx_suspended = 1;
result->opmode = params->online ? MD_ONLINE : MD_OFFLINE;
result->local_poll = result->minpoll;
+ result->poll_score = 0.0;
UTI_ZeroTimespec(&result->local_tx.ts);
result->local_tx.err = 0.0;
result->local_tx.source = NTP_TS_DAEMON;
instance->tx_count = 0;
instance->presend_done = 0;
- instance->poll_score = 0.0;
instance->remote_poll = 0;
instance->remote_stratum = 0;
UTI_ZeroTimespec(&instance->local_rx.ts);
instance->local_rx.err = 0.0;
instance->local_rx.source = NTP_TS_DAEMON;
+}
+
+/* ================================================== */
+void
+NCR_ResetPoll(NCR_Instance instance)
+{
if (instance->local_poll != instance->minpoll) {
instance->local_poll = instance->minpoll;
void
NCR_ChangeRemoteAddress(NCR_Instance inst, NTP_Remote_Address *remote_addr)
{
+ NCR_ResetInstance(inst);
inst->remote_addr = *remote_addr;
- inst->tx_count = 0;
- inst->presend_done = 0;
if (inst->mode == MODE_CLIENT)
close_client_socket(inst);
/* Reset an instance */
extern void NCR_ResetInstance(NCR_Instance inst);
+/* Reset polling interval of an instance */
+extern void NCR_ResetPoll(NCR_Instance instance);
+
/* Change the remote address of an instance */
extern void NCR_ChangeRemoteAddress(NCR_Instance inst, NTP_Remote_Address *remote_addr);
if (record->remote_addr) {
if (change_type == LCL_ChangeUnknownStep) {
NCR_ResetInstance(record->data);
+ NCR_ResetPoll(record->data);
} else {
NCR_SlewTimes(record->data, cooked, dfreq, doffset);
}