Commit Graph

10 Commits

Author SHA1 Message Date
akwizgran
fde354957c Timestamps may not be negative. 2011-09-16 13:20:49 +01:00
akwizgran
70b1487140 Renamed user-defined tags "user-defined type identifiers". 2011-09-12 16:32:25 +01:00
akwizgran
4dd303d9e1 Changed maximum packet and message sizes in preparation for new
transport format.
2011-08-18 15:14:48 +02:00
akwizgran
254da2da27 Removed the restriction that transport updates have to be written in
delimited form.
2011-08-14 11:41:56 +02:00
akwizgran
c2b0f0ab5a Each request packet should contain the unique ID of the offer to which
it responds.
2011-08-13 17:46:19 +02:00
akwizgran
c2045296eb Associate a timestamp with every subscription, indicating the earliest
acceptable timestamp of subscribed messages. For a new subscription,
the timestamp is initialised to the current time, so a new subscriber
to a group will not immediately receive any messages. (Subscribing to
a group is therefore more like joining a mailing list than joining a
Usenet group - you only receive messages written after you joined.)

Once the database fills up and starts expiring messages, the
timestamps of subscriptions are updated so that contacts need not send
messages that would expire immediately. This is done using the
*approximate* timestamp of the oldest message in the database, to
avoid revealing the presence or absence of any particular message.
2011-08-05 13:34:58 +01:00
akwizgran
5cb4075cfd Added the ability to store transport configuration details in the
database - unlike transport properties, these are not shared with
contacts. For example, when using email as a transport, the address
for sending and receiving emails would be a transport property, while
the username and password for the email server would be transport
configuration details. Transport plugins can update their
configuration details atomically.

Also clarified the terminology for transport and subscription updates.
2011-08-04 13:41:41 +01:00
akwizgran
0cf8477504 Read and write offers. Mostly boilerplate. 2011-07-26 22:00:39 +01:00
akwizgran
9e78837055 Implemented OfferWriter and RequestWriter, made all the writers
reusable (though not thread-safe), and guiced the readers.
2011-07-26 21:36:55 +01:00
akwizgran
941460e3bc Readers, writers and factories for subscription and transport updates. 2011-07-23 21:46:47 +01:00