akwizgran
9ec8feec78
Added a method for retrieving the message body from the DB.
2011-10-21 20:42:43 +01:00
akwizgran
ef61eaa804
Separated MessageHeader interface from Message interface.
2011-10-21 18:42:27 +01:00
akwizgran
f2d80825bc
Separated the subject line from the message body.
2011-10-21 18:25:25 +01:00
akwizgran
93cd31fa2d
Simplify Database methods, move logic to DatabaseComponent.
2011-10-19 15:54:56 +01:00
akwizgran
d7a417f36d
Validate the decrypted IV before creating a reader/writer.
2011-10-18 15:58:10 +01:00
akwizgran
2f457162a5
Attach the affected contact IDs to subscription update events.
2011-10-17 23:24:23 +01:00
akwizgran
ec56b12384
Converted database events from an enum to classes to allow them to
...
carry data.
2011-10-17 22:47:38 +01:00
akwizgran
89001e4c91
Double-check the initiator flag and transport ID of incoming
...
connections, and invert the flag for the responder's side.
2011-10-15 14:15:25 +01:00
akwizgran
0ef1fcb686
De-uglified some code and moved two API classes.
2011-10-14 21:49:58 +01:00
akwizgran
0d11553134
StreamConnectionFactory and ConnectionDispatcherImpl (untested).
2011-10-14 21:07:49 +01:00
akwizgran
bd91e7ebf3
Renamed a DB event.
2011-10-14 19:49:47 +01:00
akwizgran
e00e12d473
Call the listeners if a new ack might need to be sent.
2011-10-14 18:29:14 +01:00
akwizgran
d48c7b6900
Converted {Incoming,Outgoing}BatchConnection into Runnables.
...
Also changed the dispose() method of readers/writers/connections to
swallow any exceptions that occur, since the caller can't do anything
except log them.
2011-10-14 16:14:29 +01:00
akwizgran
55182528cf
Q: What does the plugin manager do? A: It manages plugins.
2011-10-14 14:49:29 +01:00
akwizgran
aabe72bfd7
Plugin factories.
2011-10-12 17:26:05 +01:00
akwizgran
64e2d7bca9
Refactoring: shorter class names.
2011-10-12 17:25:37 +01:00
akwizgran
3a07d1b882
Plugins don't need their own copies of configs and properties.
2011-10-12 16:52:39 +01:00
akwizgran
631f4e74b5
Nudge the database API in the direction of sanity.
2011-10-11 19:08:10 +01:00
akwizgran
a49a95347f
Use dedicated classes for transport properties and configs.
2011-10-11 17:28:47 +01:00
akwizgran
68b82ae826
Retrieve all remote transports from the DB in a single call.
2011-10-10 22:35:46 +01:00
akwizgran
4059fbf863
Moved plugin API from transport package to plugins package and merged
...
transport subpackages.
2011-10-10 16:18:48 +01:00
akwizgran
125ae1b640
Always call the callback outside the plugin's lock.
2011-10-08 13:13:28 +01:00
akwizgran
5f40015ec2
Moved callback initialisation from start() to constructor so it can be
...
accessed outside the lock.
2011-10-08 12:46:35 +01:00
akwizgran
a3a5ebc14f
Removed unused exceptions. Also disabled output for ant tests.
2011-10-08 12:27:13 +01:00
akwizgran
c08f6c4d1e
Merged transports' finish() and dispose() methods.
2011-10-06 19:00:33 +01:00
akwizgran
f8ca06f79d
Changed callback arguments to varargs and renamed a method.
2011-10-06 11:13:19 +01:00
akwizgran
6737e4ddfb
Merged common methods of BatchTransportPlugin and
...
StreamTransportPlugin into a superclass.
2011-10-06 09:22:56 +01:00
akwizgran
b54668c50b
Renamed InvalidTransportException -> InvalidPropertiesException.
2011-10-06 09:18:13 +01:00
akwizgran
45fd4c9060
Simple TCP socket plugin (untested).
2011-10-06 09:17:22 +01:00
akwizgran
80cba1e7f7
Added finish() methods to transport readers/writers, and added a
...
readerFinished() callback method to FilePlugin.
2011-10-05 18:59:30 +01:00
akwizgran
3ffb56bf12
Factored ConnectionRecogniser out of transport plugins.
2011-10-05 18:48:10 +01:00
akwizgran
f6df333796
Changed drive monitors to use callbacks rather than blocking.
2011-10-05 16:11:18 +01:00
akwizgran
11a6858c46
Updated transport plugin API.
2011-10-04 17:49:18 +01:00
akwizgran
74ca71d9c1
Check for symlinks when deleting directories. Allow Database.open()
...
and close() to throw IOExceptions as well as DatabaseExceptions.
2011-10-03 18:35:18 +01:00
akwizgran
72b594d270
Type-safe transport IDs.
2011-09-30 12:52:29 +01:00
akwizgran
7190509ede
Use numeric IDs rather than names to identify transports.
2011-09-29 15:40:09 +01:00
akwizgran
2edb18aee0
Store outgoing connection numbers in the database.
2011-09-28 19:24:22 +01:00
akwizgran
a8b96f11fd
Added Consumer support to Writer, to avoid redundant copying.
2011-09-28 18:47:24 +01:00
akwizgran
a1b664b639
More refactoring to connect ConnectionRecogniser to ConnectionReader.
...
Added TestDatabaseModule so tests can specify their own DB
configuration. The modules are currently too tightly coupled - see
whether any dependencies can be removed.
2011-09-28 14:21:38 +01:00
akwizgran
4aff0c4f88
Refactored transport component and renamed WritersModule.
...
The goal of the refactoring was to clean up the dependencies of
IncomingBatchConnection and OutgoingBatchConnection.
2011-09-27 19:21:44 +01:00
akwizgran
98ab523092
Database refactoring to fix injection problems.
2011-09-23 18:52:56 +01:00
akwizgran
b470afb4ef
Added DatabaseComponent.setSeen() for handling requests.
...
Also moved IO out of the lock in receiveOffer().
2011-09-23 16:06:14 +01:00
akwizgran
7c6e0c349c
Extracted constants from DatabaseComponent interface.
2011-09-23 15:33:41 +01:00
akwizgran
b675c38953
Don't do IO while holding database locks.
2011-09-23 12:55:23 +01:00
akwizgran
09971c8460
Implemented incoming and outgoing batch connections (untested).
2011-09-22 16:26:06 +01:00
akwizgran
b65d6631f1
Removed writer's count of bytes written and renamed a method.
2011-09-21 18:22:14 +01:00
akwizgran
eba6884281
Javadocs.
2011-09-21 18:09:56 +01:00
akwizgran
8dd7ec93e7
DatabaseComponent.generateAck() now returns a boolean.
...
The return value indicates whether any batch IDs were written.
AckWriter.finish() and Database.removeBatchesToAck() are only called
if at least one batch ID was written.
2011-09-21 17:51:17 +01:00
akwizgran
10c3b21726
Expose the encryption and authentication overhead without breaking
...
encapsulation.
This should allow callers to calculate maximum packet sizes without
knowing the details of the transport protocol.
2011-09-21 15:22:25 +01:00
akwizgran
7e58b25618
Allow the max packet length to be reduced from the default.
2011-09-21 13:47:06 +01:00