add revision
authorminima <minima>
Thu, 19 Aug 2004 22:05:36 +0000 (22:05 +0000)
committerminima <minima>
Thu, 19 Aug 2004 22:05:36 +0000 (22:05 +0000)
techdoc/protocol.pod

index 48df580a13413d652098717691a9a90cca54dc37..d429d044eace8e7c4b028c7e0e50389909db619b 100644 (file)
@@ -1,6 +1,6 @@
 =head1 NAME
 
 =head1 NAME
 
-DXSpiderWeb Orthogonal Communications Protocol
+DXSpiderWeb Orthogonal Communications Protocol $Revision$
 
 =head1 SYNOPSIS
 
 
 =head1 SYNOPSIS
 
@@ -58,7 +58,7 @@ discontinuity either caused by outage or deliberate filtering.
 
 However, as it is envisaged that most messages will be flood routed or,
 in the case of directed messages (those that have L</To> and/or
 
 However, as it is envisaged that most messages will be flood routed or,
 in the case of directed messages (those that have L</To> and/or
-L</ToUser> fields) down all interfaces showing a route for that
+L</ToUser> fields) down some/most/all interfaces showing a route for that
 direction, it is unlikely that messages will be lost in practice.
 
 =head2 Field Description
 direction, it is unlikely that messages will be lost in practice.
 
 =head2 Field Description
@@ -88,7 +88,7 @@ More detailed descriptions of the fields follow:
 
 =over
 
 
 =over
 
-=item Origin
+=item B<Origin>
 
 This is a compulsory field. It is the name of the originating node.
 The field can contain up to 12 characters in the set [-A-Z0-9_] in
 
 This is a compulsory field. It is the name of the originating node.
 The field can contain up to 12 characters in the set [-A-Z0-9_] in
@@ -96,16 +96,18 @@ any order. Higher layers may restrict this further.
 
 The field must not be changed by any other node.
 
 
 The field must not be changed by any other node.
 
-=item TimeSeq
+=item B<TimeSeq>
 
 This is a compulsory field. It is a 10 hexadecimal digit string which
 
 This is a compulsory field. It is a 10 hexadecimal digit string which
-consists of a day no (1-31), seconds within that day (0-86399) [6
-hex digits] that are concatenated with a sequence number (0-65535)
-[4 hex digits] making the total of 10.
+consists of a day no (1-31), 
+a flag to indicate NTP syncronisation in use,
+seconds within that day (0-86399) [total of 6 hex digits] 
+that are concatenated with a sequence number (0-65535)
+[4 hex digits] making the total of 10 hexadecimal digits.
 
 The date portion is constructed as:
 
 
 The date portion is constructed as:
 
-  my $date = ((gmtime)[3] << 18) | (time % 86400);
+  my $date = ((((gmtime)[3] < 1) | $ntpflag) < 18) |  (time % 86400);
 
 The sequence number is simply an unsigned short (or 16 bit) number
 starting at 0. 
 
 The sequence number is simply an unsigned short (or 16 bit) number
 starting at 0. 
@@ -113,7 +115,7 @@ starting at 0.
 Each message originated at this node will increment the sequence
 number.
 
 Each message originated at this node will increment the sequence
 number.
 
-=item Hop
+=item B<Hop>
 
 This is a compulsory field. It is the number of hops from the 
 originating node. It is incremented immediately on receipt and
 
 This is a compulsory field. It is the number of hops from the 
 originating node. It is incremented immediately on receipt and
@@ -127,7 +129,7 @@ Implementations may have an upper limit to this field and may
 silently drop incoming messages with a L</Hop> count greater than the
 limit.
 
 silently drop incoming messages with a L</Hop> count greater than the
 limit.
 
-=item FrmUser
+=item B<FrmUser>
 
 This field is optional. It is the identifier of the originating
 user.  If it is missing then the message is 
 
 This field is optional. It is the identifier of the originating
 user.  If it is missing then the message is 
@@ -136,7 +138,7 @@ assumed to come from the originating node itself.
 It can consist of up to 12 characters in the set [-A-Z0-9_] 
 in any order. Higher layers may restrict this further.
 
 It can consist of up to 12 characters in the set [-A-Z0-9_] 
 in any order. Higher layers may restrict this further.
 
-=item To
+=item B<To>
 
 This field is optional. It is a string of up to 12 characters 
 in the set [-A-Z0-9_] in any order. 
 
 This field is optional. It is a string of up to 12 characters 
 in the set [-A-Z0-9_] in any order. 
@@ -156,7 +158,7 @@ intervening nodes are free to duplicate the message and send
 it down more than one, likely looking, interface - depending on any
 network policies that may pertain. 
 
 it down more than one, likely looking, interface - depending on any
 network policies that may pertain. 
 
-=item ToUser
+=item B<ToUser>
 
 This field is optional. It is a string of up to 12 characters
 in the set [-A-Z0-9_] in any order. Higher layers may restrict 
 
 This field is optional. It is a string of up to 12 characters
 in the set [-A-Z0-9_] in any order. Higher layers may restrict 
@@ -241,11 +243,12 @@ duplicated!
 
 =head2 Examples
 
 
 =head2 Examples
 
- # on link startup
- GB7TLH,3D02350001,0|HELLO
+ # on link startup from GB7BAA (both sides hello)
+ GB7TLH,3D02350001,0,GB7BAA|HELLO,Aranea,bld=24.123
+ GB7BAA,3D02355421,1,GB7TLH|HELLO,Aranea,bld=23.245
 
 
- # on user startup
- GB7TLH,3D042506F2,0,G1TLH|HELLO
+ # on user startup to GB7TLH
+ GB7TLH,3D042506F2,0,G1TLH|HELLO,PClient,ver=1.03
 
  # on user disconnection
  GB7TLH,3D9534F32D,0,G1TLH|BYE
 
  # on user disconnection
  GB7TLH,3D9534F32D,0,G1TLH|BYE
@@ -268,7 +271,7 @@ duplicated!
  GB7TLH,1512346543,0,G1TLH,GB7DJK,G7BRN|PING,35DE
 
  # A possible reply, same ID as ping followed by the no of hops on the 
  GB7TLH,1512346543,0,G1TLH,GB7DJK,G7BRN|PING,35DE
 
  # A possible reply, same ID as ping followed by the no of hops on the 
- # received ping
+ # ping that was received
  GB7DJK,1512450534,3,G7BRN,GB7TLH,G1TLH|PONG,35DE,3 
 
 
  GB7DJK,1512450534,3,G7BRN,GB7TLH,G1TLH|PONG,35DE,3 
 
 
@@ -344,6 +347,30 @@ Invalid tags include:
 There are a number of L</Standard Commands> which must be accepted by 
 all implementations.
 
 There are a number of L</Standard Commands> which must be accepted by 
 all implementations.
 
+=over
+
+=item B<HELLO>
+
+Command sent on connection to another node.
+
+=item B<BYE>
+
+Command sent to voluntarily disconnect a connection.
+
+=item B<DISC>
+
+Command sent when a node has disconnected from this node.
+
+=item B<PING>
+
+Command to send a ping to a node or user.
+
+=item B<PONG>
+
+Command to reply to a successful ping
+
+=back
+
 =head1 AUTHOR
 
 Dirk Koopman, G1TLH, E<lt>djk@tobit.co.ukE<gt>
 =head1 AUTHOR
 
 Dirk Koopman, G1TLH, E<lt>djk@tobit.co.ukE<gt>
@@ -355,6 +382,8 @@ Copyright 2004 by Dirk Koopman, G1TLH
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
 
+$Revision$
+
 =cut
 
 
 =cut