summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2009-07-31 17:14:59 +0000
committerEric S. Raymond <esr@thyrsus.com>2009-07-31 17:14:59 +0000
commit4c7ea920558d224581425234dbbe6335ccdfb7a0 (patch)
tree68482c05aa73110cf176217c86ce2a055ea4a929 /www
parentcfb391e709bf405d2b3ba35647a43f4b6d3a1182 (diff)
downloadgpsd-4c7ea920558d224581425234dbbe6335ccdfb7a0.tar.gz
Explain the exhaustion of old-protocol namespace in more detail...
since a commenter seems confused by it.
Diffstat (limited to 'www')
-rw-r--r--www/protocol-evolution.txt20
1 files changed, 13 insertions, 7 deletions
diff --git a/www/protocol-evolution.txt b/www/protocol-evolution.txt
index 283bba87..053381a2 100644
--- a/www/protocol-evolution.txt
+++ b/www/protocol-evolution.txt
@@ -137,13 +137,19 @@ single Ethernet packet (1509 bytes).
== Pressure builds for a redesign ==
Along about 2006, despite my efforts to conserve the remaining
-namespace, we ran out of letters completely. 'H' is actually still
-left, but at the time I believed we couldn't commit the last letter
-(whatever it was) because we'd need it as an inline switch to a new
-protocol. I started feeling pressure to actually design a new
-protocol. Besides running out of command namespace in the old one, a
-couple of things were happening that implied we'd need to define new
-commands.
+namespace, we ran out of letters completely. As the PADE example
+shows, the protocol parser interprets command words letter
+by latter, so trying to wedge longer commands in by simple
+fiat wouldn't work. Recruiting non-letter characters as
+command chareacters would have been ugly and only postponed
+the problem a bit, not solved it.
+
+'H' is actually still left, but at the time I believed we couldn't
+commit the last letter (whatever it was) because we'd need it as an
+inline switch to a new protocol. I started feeling pressure to
+actually design a new protocol. Besides running out of command
+namespace in the old one, a couple of things were happening that
+implied we'd need to define new commands.
What had used up the last of the command namespace was multi-device
support. Originally, GPSD could only monitor one GPS at a time. I