Previous  Top  Next

Windows Time Client

3.4.7.3 Receive-Instantiation Procedure

The receive-instantiation procedure is called from the receive procedure when a new peer is discovered. It initializes the peer variables and mobilizes the association. If the message is from a peer operating in client mode (3), the host mode is set to server mode (4); otherwise, it is set to symmetric passive mode (2). The authentication variables are used only if the authentication mechanism described in Appendix C is implemented. If implemented, only properly authenticated non-configured peers can become the synchronization source.

begin receive-instantiation procedure
       #ifdef (authentication implemented)                    /* see Appendix C */
               peer.authenable <-- 0;
               peer.authentic <-- 0;
               peer.hostkeyid <-- as required;
               peer.peerkeyid <-- 0;
               #endef
       peer.config <-- 0;                                           /* copy variables */
       peer.peeraddr <-- pkt.peeraddr;
       peer.peerport <-- pkt.peerport;
       peer.hostaddr <-- roman pkt.hostaddr;
       hostport <-- pkt.hostport;
       if (pkt.mode = 3)                                              /* determine mode */
               peer.mode <-- 4;
               else
               peer.mode <-- 2;
       peer.peerpoll <-- 0 (undefined);
       peer.timer <-- 0;
       peer.delay  <-- 0 (undefined);
       peer.offset <--0 (undefined);
       call clear;                                                            /* initialize association */
end receive-instantiation procedure;