[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gpsd-dev] [PATCH v2 1/1] gps2udp: add a 'pack' mode

From: Ferry Huberts
Subject: Re: [gpsd-dev] [PATCH v2 1/1] gps2udp: add a 'pack' mode
Date: Fri, 03 Jan 2014 22:07:09 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0

On 03/01/14 21:53, Gary E. Miller wrote:
Yo Ferry!

On Fri, 03 Jan 2014 21:25:03 +0100
Ferry Huberts <address@hidden> wrote:

Seems like a lot of work for zero gain.  gpsd tries to keep the
servers as simple as possible.  If the client wants to group things
the client should do so.

Well, I have a use-case for it. My use-case involves low-bandwidth
networks on which every byte counts.

How low?  How many bytes does this really save?  A UDP header is 8
bytes, is this really noticeable in your application?  Is it worth
the added compleixty and latency?

How low?
- Our use-case is MANET networks, which can have bandwidths from ~1Kbps to over 100Mbps, fluctuating rather quickly and wildly, depending on circumstances.

How many bytes does this really save?
- (IP header + UDP header) * (number of sentences per pack - 1)

Is it worth the added compleixty and latency?
- Oh yes! This is also about saving on medium access. On our MANETs it's way more efficient to burst data in a single packet than to sent out many small packets.

As an example, our GPS hardware puts out these sentences every second, always in the same order:
---> [22:01:34] -- $GPRMC,.....
---> [22:01:34] -- $GPVTG,.....
---> [22:01:34] -- $GPGGA,.....
---> [22:01:34] -- $GPGSA,.....
---> [22:01:34] -- $GPGSV,.....
---> [22:01:34] -- $GPGSV,.....
---> [22:01:34] -- $GPGSV,.....
---> [22:01:34] -- $GPGLL,.....

Packing the sentences makes a huge difference on our MANETs.

It also simplifies our clients because now the received gps information is already packed, and they don't need to do that themselves.

Also, this pack mode
communicates to a listener an as-complete as possible GPS state in a
single packet.

gpsd data goes stale really quickly.  Every time in the past we
have attempted to accumulate state we have had to revert.

Furthermore, from my point of view gpsd is the server, gps2udp is a
simple client program of gpsd that performs a simple transformation
and sends out the result.

Yes, gps2udp is the client to gpsd, but it is the server to the
udp clients.  And you are making the transformation less simple.

I'm trying very hard to do the right thing here and upstream work we

Yes, and thank you for that.  On our end we want to be sure changes
to git head suit all users.  As you have seen, if you work with us
a little we often get to a good, if delayed, solution.

Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97701
        address@hidden  Tel:+1(541)382-8588

Ferry Huberts

reply via email to

[Prev in Thread] Current Thread [Next in Thread]