akwizgran
|
b4bf662b3e
|
Unit tests for HeaderReader.
|
2011-07-21 10:58:42 +01:00 |
|
akwizgran
|
159b09e12a
|
Marked unused classes for removal if they're not used later.
|
2011-07-21 10:21:20 +01:00 |
|
akwizgran
|
5843f38803
|
Unit tests for BatchReader.
|
2011-07-21 10:14:23 +01:00 |
|
akwizgran
|
06ae0e0783
|
Use mocks for test objects with no side-effects.
|
2011-07-20 18:38:05 +01:00 |
|
akwizgran
|
f727420838
|
Removed signatures from headers and bundles, since the transport's
authentication will make them redundant.
|
2011-07-20 18:33:06 +01:00 |
|
akwizgran
|
45b4bef348
|
Catch ClassCastException when the encountered type doesn't match the
expected type, and re-throw as FormatException.
|
2011-07-20 15:07:17 +01:00 |
|
akwizgran
|
30d7a0f916
|
Defined which protocol objects require user-defined tags.
|
2011-07-20 14:45:56 +01:00 |
|
akwizgran
|
6b61cfa1bc
|
Factored out header reading and batch reading into separate classes
for easier testing.
|
2011-07-19 19:13:27 +01:00 |
|
akwizgran
|
fb528a85ad
|
Nested user-defined objects (and collections of them) can now be read
by registering ObjectReaders with the Reader.
|
2011-07-19 17:17:45 +01:00 |
|
akwizgran
|
a9e7cbd05c
|
Every encoded object should include its identifying tag.
|
2011-07-19 14:21:07 +01:00 |
|
akwizgran
|
ff984c69fb
|
Messages are no longer encoded as raw byte arrays.
|
2011-07-19 14:01:33 +01:00 |
|
akwizgran
|
30fc6c1a92
|
Defined some user-defined tags for protocol elements. Currently they're just adding redundancy, but in future they'll be used for parsing nested elements.
|
2011-07-18 17:44:18 +01:00 |
|
akwizgran
|
427142ae51
|
Read and write user-defined tags.
|
2011-07-18 16:46:03 +01:00 |
|
akwizgran
|
8fc97157d3
|
Fun fact: it's never worth writing a length as an int8.
|
2011-07-18 16:17:01 +01:00 |
|
akwizgran
|
7a4171f3ba
|
A more efficient encoding for short strings, raws, lists and maps. Now we can encode a list of three small integers in 4 bytes like MessagePack does, should that ever turn out to be useful.
|
2011-07-18 16:06:09 +01:00 |
|
akwizgran
|
0bc8a31749
|
Cleaned up serial and protocol packages in preparation for user-defined types.
|
2011-07-18 14:33:41 +01:00 |
|
akwizgran
|
308a7017be
|
Check that EOF occurs when expected.
|
2011-07-15 20:23:59 +01:00 |
|
akwizgran
|
e8fd3ab7a3
|
Added DroidSansFallback font for platforms without CJK fonts installed.
|
2011-07-15 04:37:26 -04:00 |
|
akwizgran
|
4d8641e590
|
Changed Eclipse project name to match repo name.
|
2011-07-14 23:12:27 +01:00 |
|
akwizgran
|
e25b7353ba
|
Only check the beginnings of font names, since the exact names vary by
platform.
|
2011-07-14 21:39:04 +01:00 |
|
akwizgran
|
af6c9a9706
|
Upgraded to JUnit 4.9b3 for a Java 1.5 compatibility bugfix.
|
2011-07-14 21:26:23 +01:00 |
|
akwizgran
|
62d69b6fb5
|
Don't use FileUtils.getBriarDirectory() in tests.
|
2011-07-14 20:42:41 +01:00 |
|
akwizgran
|
065b6e496f
|
Don't use the real Briar directory for unit tests.
|
2011-07-14 20:02:47 +01:00 |
|
akwizgran
|
acb7228df9
|
Updated the H2 jar to a version that hopefully works on OSX 10.4 (since it was built there).
|
2011-07-14 19:39:01 +01:00 |
|
akwizgran
|
b41465c2da
|
Use commons-io to measure free space.
|
2011-07-14 19:21:16 +01:00 |
|
akwizgran
|
cea8a3a843
|
IO, IO, it's off to work we go.
|
2011-07-14 19:15:40 +01:00 |
|
akwizgran
|
4d4b540387
|
Java 1.5 compatibility changes (for OSX 10.4). We depend on commons-io for a single method... might be worth copying the source into FileUtils if the license permits.
|
2011-07-14 19:12:44 +01:00 |
|
akwizgran
|
fcedc34d10
|
Don't store subscription or transport updates that are older than those already received. Also some small changes to DatabaseComponent impls for readability.
|
2011-07-14 13:53:13 +01:00 |
|
akwizgran
|
836d30f6df
|
Retrieve messages from the database in raw form to avoid creating unnecessary short-lived objects. Added timestamps to headers.
|
2011-07-14 12:01:35 +01:00 |
|
akwizgran
|
d4382fd232
|
Replaced clearSubscriptions() and addSubscription() with setSubscriptions().
|
2011-07-14 09:52:05 +01:00 |
|
akwizgran
|
a121dcdda8
|
New retransmission mechanism, which does away with the need for bundle IDs and should cope better with high bandwidth-delay product links.
|
2011-07-14 09:39:15 +01:00 |
|
akwizgran
|
d889a08cf4
|
Guice stuff.
|
2011-07-13 17:05:25 +01:00 |
|
akwizgran
|
48359ec478
|
Updated buildfile for unit tests.
|
2011-07-13 16:46:21 +01:00 |
|
akwizgran
|
e13b0437c3
|
Rewrote the bundle reading and writing code to eliminate copying. Signatures and digests are now calculated on the fly as the data is read or written. This is a little bit tricky in the case of reading because ReaderImpl uses a lookahead byte, so the signature and message digest need to lag one byte behind.
|
2011-07-13 16:39:31 +01:00 |
|
akwizgran
|
70c698ca9d
|
Batch and header builders should set the length to include the signature.
|
2011-07-12 20:51:45 +01:00 |
|
akwizgran
|
c3643a037b
|
Added accessors for the amount of raw data read and written by readers and writers - this fixes a fixme in MessageParserImpl.
|
2011-07-12 20:27:37 +01:00 |
|
akwizgran
|
22a67cc0d2
|
Message parser and encoder.
|
2011-07-12 18:41:08 +01:00 |
|
akwizgran
|
2af6f19476
|
Check the return value from Signature.verify(). *cough*
|
2011-07-12 17:08:31 +01:00 |
|
akwizgran
|
3d549ea6ac
|
Builders for incoming and outgoing headers and batches. The protocol and serial components can now be used to serialise, sign, deserialise and verify real bundles (except for message parsing).
|
2011-07-12 16:50:20 +01:00 |
|
akwizgran
|
e0509db45d
|
Protocol refactoring. Each bundle now consists of a signed header and zero or more signed batches. There is no overall signature on the bundle, since the bundle's contents may need to be processed before the entire bundle has been read. The protocol does not prevent an adversary from removing batches from a bundle, reordering batches, moving them from one bundle to another, etc. However, since each batch is signed and acknowledged independently, no such guarantees are required. Bundle IDs will go away when the retransmission mechanism is changed.
|
2011-07-12 12:55:46 +01:00 |
|
akwizgran
|
4977695a79
|
Refactored readers and writers.
|
2011-07-12 11:28:26 +01:00 |
|
akwizgran
|
4f5eb21180
|
Builders for batches and bundles.
|
2011-07-11 12:25:04 +01:00 |
|
akwizgran
|
51e371f7ca
|
Added start/end methods for writing indefinite lists and maps.
|
2011-07-11 10:07:01 +01:00 |
|
akwizgran
|
63f1caebac
|
Iterators throw FormatRuntimeException if a FormatException occurs, or RuntimeException if an IO error occurs. Reduced visibility of impl classes.
|
2011-07-10 22:42:38 +01:00 |
|
akwizgran
|
0f4ffe9fbc
|
Added type-safe accessors and iterator accessors for lists and maps.
|
2011-07-10 18:31:18 +01:00 |
|
akwizgran
|
1f5e52c31b
|
Modifying Protocol Buffers (or Thrift, or MessagePack, or any of the free ASN.1 implementations I could find) to support length constraints was more work than writing a custom serialisation format, so I wrote a custom format.
|
2011-07-10 14:44:15 +01:00 |
|
akwizgran
|
4deb52478d
|
Protocol Buffers will be used for the wire protocol. As a quick test it's now used to serialize transport details when creating an invitation.
|
2011-07-07 22:10:02 +01:00 |
|
akwizgran
|
7fb589075d
|
Added support for local transport details. Each bundle contains the sender's latest transport details.
|
2011-07-06 19:07:10 +01:00 |
|
akwizgran
|
b548820f77
|
Transport details for contacts can be stored in the database (these are arbitrary key/value pairs that describe how to reach the contact using a particular transport). Moved the generic ContactId and Rating classes out of the database package of the API.
|
2011-07-06 16:50:01 +01:00 |
|
akwizgran
|
9fbf0f21de
|
Contact IDs are now auto-generated.
|
2011-07-06 14:53:35 +01:00 |
|