| Branch: | Tag: | Revision:

gdp / gdp / gdp_pdu.h @ master

History | View | Annotate | Download (10.2 KB)

# Date Author Comment
c87dd166 01/23/2019 07:56 AM Eric Allman

Update license date on all files. No functional changes.

34e502ee 09/12/2018 01:41 PM Eric Allman

Second cut at sorting asynchronous data records. Currently all done with
simulation (-Dtest.gdp.chan.seqno=102 randomizes the incoming sequence
numbers), and so missing or duplicated incoming records have not been

e6319882 09/04/2018 09:09 AM Eric Allman

First pass at ordering results of asynchronous reads. Works if the
reads come in pre-sorted, but so far untested for out-of-order delivery.

5edf4ad2 08/23/2018 12:43 PM Eric Allman

Pass Layer 4 network sequence number to higher layers.

80b79281 07/31/2018 01:07 PM Eric Allman

Remove vestiges of old signature implementation.

bd278f2e 06/08/2018 11:45 AM Eric Allman

Snapshot: change physical interface to make more efficient use of SQLite
when retrieving sets. Use this for asynchronous reads.

4a89fdda 01/17/2018 11:34 AM Eric Allman

First cut at flattening out protobuf definition. Some changes to data
structure printing (e.g., _gdp_pdu_dump) to get indenting more rational
so as to make reading the output easier.

d65c01e2 01/09/2018 11:18 AM Eric Allman

First cut at running Layer 5 network protocol version 4 over old
(version 3) Layer 4 stack. Substantial parts are unimplemented,
including signature generation and checking, read or subscribe by
timestamp or hash, and others. No asynchronous operations including...

73a41934 11/17/2017 09:55 AM Eric Allman

Tentatively working on v3 network protocol.

5a73c6ad 11/08/2017 12:36 PM Eric Allman

First cut at new net protocol. Compiles, but not yet tested (not even
once --- do not try to run this!).

4a6db795 10/27/2017 07:35 PM Eric Allman

First cut at "delete log" command (lightly tested).

7fdfaa3c 09/19/2017 01:23 AM Eric Allman

Generalize ack/nak to EP_STAT mapping to be more flexible and better
allow for improved error messages. Still more to be done, but the
basics are in.

9c515e64 07/26/2017 06:21 PM Eric Allman

Initial implementation of unsubscribe.

6f52b2b7 04/14/2017 03:16 PM Eric Allman

Implement a way to deliver "record missing" back to client.

897accec 02/06/2017 10:41 AM Eric Allman

Update licenses to 2017.

0d8c13e8 08/27/2016 08:36 AM Eric Allman

Make many parameters "const" where possible.

6d70b9d9 08/25/2016 04:28 PM Eric Allman

Add new NAK code for failure to replicate on an append

d298be81 08/06/2016 08:37 AM Eric Allman

Reserve command 3 for router-to-router messages (already in use by

d2647d1f 07/26/2016 07:34 PM Eric Allman

Next take on read-by-timestamp. This version works for read, multiread,
and subscribe. There are still some glitches (e.g., you can't have a
starting timestamp in the future) but fixing these would require major
code restructuring, and besides, you can't specify a starting record...

65309098 07/26/2016 08:36 AM Eric Allman

First cut at read-by-timestamp. Adds Berkeley DB as a dependency (two
versions supported). The interface still isn't quite right; in
particular, subscribe and multiread don't take timestamps. This should
be remedied before this code is released.

0fbf9115 07/13/2016 12:55 PM Eric Allman

Rename "extents" to be "segments" because of different potential
semantics and enable them by default.

02356366 06/18/2016 02:22 PM Eric Allman

Be more tolerant of missing records and duplicated records (preparation
for replication).

8cc28925 05/26/2016 05:10 PM Eric Allman

First cut on implementing FWD_APPEND command. Still not working for all

13429833 02/16/2016 10:37 AM Eric Allman

Clean up GDP ack/nak status codes.

24a0a636 02/15/2016 03:19 PM Eric Allman

Add status code/NAK command corresponding to 410 Gone (for expired

f9b45862 01/28/2016 01:08 PM Eric Allman

Implement ability to create new extents. Currently there is no attempt
made to include authorization.

6bd5476b 12/01/2015 01:22 PM Eric Allman

Update license. No code changes.

055d3009 11/21/2015 01:20 PM Eric Allman

Include copyright in all files. There are scripts to do bulk
replacement of the copyright if desired.

3bdf7e92 10/28/2015 03:26 PM Eric Allman

Better commenting on PDU layout

e87e0a1a 10/27/2015 10:46 AM Eric Allman

Work-in-Progress: automatic subscription renewals. Incomplete.

c8e97446 10/01/2015 11:58 AM Eric Allman

Change on-disk log to store signature.
Return that signature on READ commands.
Update reader-test to add a -v flag to print signature info.
Document new interfaces.

0214bde3 08/24/2015 06:04 PM Eric Allman

Sample fix for Nitesh (Readable and Appendable logs)

24e7ddfa 08/12/2015 11:46 AM Eric Allman

Change PDU version number to 3.

9a47c6c7 07/24/2015 09:38 AM Eric Allman

Another signing snapshot: signatures are created and sent but not
checked. Metadata is returned when a GCL is opened. Still have a
problem with reference counting of GCL handles.

f80ae9c0 07/22/2015 09:54 AM Eric Allman

Snapshot adding signing. Signatures are computed but not sent or

932f745e 03/02/2015 02:28 PM Eric Allman

Cleanup prior to code review: chiefly comments, a bit of code reordering
for better flow.

7c79c6bc 02/20/2015 02:08 PM Eric Allman

Significant changes to locking and subscriptions:
* Locks on gdp_req_t are now more extensive to avoid data races.
* Care is given to prevent subscription data being processed before
the subscription itself is in place.
Minor changes:
* Move channel pointer into gdp_pdu_t purely as a convenience when...

bf6ddfe3 02/08/2015 05:54 PM Eric Allman

Finish conversion of "packet" to "PDU". Mostly comments.

1440421a 02/04/2015 05:43 PM Eric Allman

Snapshot: working on timing out subscriptions.

b8ecd3aa 02/01/2015 07:25 AM Eric Allman

Extend PING so it can check an individual subscription. Note: doesn't
work properly if one client has multiple subscriptions on the same GCL,
since it actually checks to see if there exists /any/ subscription from
that client.
Other random cleanups (naming and formatting).

05e1cb19 01/29/2015 04:40 PM Eric Allman

Rename PUBLISH => APPEND (API change).
Eliminate gdp_datum_setrecno and gdp_datum_setts (didn't make sense).
Fix example code in protocol documentation.

cf71c5ea 01/29/2015 11:39 AM Eric Allman

Implement gdplogd shutdown actions: withdraw advertisements, explicitly
terminate all subscriptions.

704c6e35 01/28/2015 07:34 AM Eric Allman

Make request-id field required in PDU to make the router code easier.

21ab3878 01/27/2015 12:12 PM Eric Allman

Unify command and ack/nak processing; unify Associative and LRU GCL
caches; multiple other cleanups.

c862fd23 01/23/2015 03:06 PM Eric Allman

Add new NAK_R_NOROUTE code for routing layer to inform apps of unknown

7a52336b 01/21/2015 09:01 AM Eric Allman

Snapshot in getting fallbacks for connections to the routing plane.
Still doesn't work, but at least works for the case where the first
address in the list is available. It's also clear that _gdp_req_new
needs substantial work; as it is, gdplogd can handle commands and...

294e1dd0 01/09/2015 02:36 PM Eric Allman

Adjust fixed PDU size to reflect 4 octet data lengths.

35c01e10 01/09/2015 09:40 AM Eric Allman

Change data lengths to 4 bytes; if longer PDUs are allowed there are
problems on 32-bit machines.

54e73f13 01/05/2015 01:27 PM Eric Allman

First cut on the dual-layer model. The old GDP daemon is now the GDP
log daemon; instead of listening to connections it initiates them. This
commit does not include the routing layer.

efa46684 12/29/2014 11:55 AM Eric Allman

First cut at new architecture for GDP (separate routing from log layer).
This compiles but does not run.

a0a21282 12/27/2014 03:48 PM Eric Allman

Adjustments for new PDU format, better error checking, etc.

4618b00d 12/27/2014 12:20 PM Eric Allman

Change the PDU format again to make a routing module easier. It was
necessary to make the signature size explicit, so you didn't have to
know the details of the signature algorithm to use it.

549b367d 12/26/2014 07:55 AM Eric Allman

Begin change to new on-wire protocol. Involves lots of renaming.
Amazingly it still seems to run.