summaryrefslogtreecommitdiff
path: root/zhm/queue.c
diff options
context:
space:
mode:
authorGravatar David C. Jedlinsky <opus@mit.edu>1987-06-27 15:23:32 +0000
committerGravatar David C. Jedlinsky <opus@mit.edu>1987-06-27 15:23:32 +0000
commit0700012fe05f29c36f4c1527ccb0e0d6882286ce (patch)
treed4ad3d8f9a4178c125bb73370bc2bf095f1bedf9 /zhm/queue.c
parent6fbe5e1395a9384127fd5104dd7b326d94fe7926 (diff)
added retransmit_queue().
Diffstat (limited to 'zhm/queue.c')
-rw-r--r--zhm/queue.c28
1 files changed, 26 insertions, 2 deletions
diff --git a/zhm/queue.c b/zhm/queue.c
index 7066578..f7caf35 100644
--- a/zhm/queue.c
+++ b/zhm/queue.c
@@ -108,9 +108,33 @@ Code_t remove_notice_from_queue(notice, packet, repl)
}
}
-Code_t retransmit_queue()
+Code_t retransmit_queue(sin)
+ struct sockaddr_in *sin;
{
+ Qelem *srch;
+ Code_t ret;
+
DPR ("Retransmitting queue to new server...\n");
+ if ((ret = ZSetDestAddr(sin)) != ZERR_NONE) {
+ fprintf(stderr, "Error = %d\n", ret);
+ com_err("queue", ret, "setting destination");
+ }
+ if ((srch = hm_queue.q_forw) != &hm_queue)
+ do {
+ DPR ("notice:\n");
+ DPR2 ("\tz_kind: %d\n", srch->q_data->z_notice.z_kind);
+ DPR2 ("\tz_port: %u\n", ntohs(srch->q_data->z_notice.z_port));
+ DPR2 ("\tz_class: %s\n", srch->q_data->z_notice.z_class);
+ DPR2 ("\tz_clss_inst: %s\n", srch->q_data->z_notice.z_class_inst);
+ DPR2 ("\tz_opcode: %s\n", srch->q_data->z_notice.z_opcode);
+ DPR2 ("\tz_sender: %s\n", srch->q_data->z_notice.z_sender);
+ DPR2 ("\tz_recip: %s\n", srch->q_data->z_notice.z_recipient);
+ if ((ret = ZSendRawNotice(&srch->q_data->z_notice)) != ZERR_NONE) {
+ fprintf(stderr, "Error = %d\n", ret);
+ com_err("queue", ret, "sending raw notice");
+ }
+ srch = srch->q_forw;
+ } while (srch != &hm_queue);
}
Code_t dump_queue()
@@ -125,7 +149,7 @@ Code_t dump_queue()
else do {
printf("notice:\n");
printf("\tz_kind: %d\n", srch->q_data->z_notice.z_kind);
- printf("\tz_port: %u\n", srch->q_data->z_notice.z_port);
+ printf("\tz_port: %u\n", ntohs(srch->q_data->z_notice.z_port));
printf("\tz_class: %s\n", srch->q_data->z_notice.z_class);
printf("\tz_clss_inst: %s\n", srch->q_data->z_notice.z_class_inst);
printf("\tz_opcode: %s\n", srch->q_data->z_notice.z_opcode);