akwizgran
f899bc0c38
Facade for private message headers. #173
2015-12-17 16:56:58 +00:00
akwizgran
87689855da
Facades for private messaging. #173
2015-12-17 16:56:58 +00:00
akwizgran
52720c5c04
Pass-through implementations of UI/DB interfaces.
2015-12-17 16:56:57 +00:00
akwizgran
e370cafb12
Moved classes from messaging package to sync package.
2015-12-15 15:05:06 +00:00
akwizgran
027ae8340f
Whitespace-only code formatting changes.
2015-11-30 09:38:25 +00:00
akwizgran
41c4c4d808
Renamed raw data type.
2015-05-02 21:05:23 +01:00
akwizgran
b8e37a5421
Renamed serial component to data, moved consumers to briar-core.
2015-05-02 20:39:24 +01:00
akwizgran
416719e3d9
Removed silly SerialComponent interface.
2015-05-02 20:30:25 +01:00
akwizgran
32c9ce50d9
Moved the messaging protocol one step closer to BSP.
...
This breaks backward compatibility for the wire protocol and messages
stored in the database. The database schema version has been
incremented.
2015-05-01 16:59:27 +01:00
akwizgran
47bd84122e
Code formatting and small cleanups.
2015-01-28 21:18:31 +00:00
akwizgran
388b36b6be
Check periodically for retransmittable packets. Bug #46 .
2014-12-14 20:26:41 +00:00
akwizgran
29a6596ee3
Use the transport's idle timeout, not a hardcoded value.
2014-12-14 15:18:39 +00:00
akwizgran
d4fa656dbb
Application layer keepalives to detect dead TCP connections.
...
DuplexOutgoingSession flushes its output stream if it's idle for a
transport-defined interval, causing an empty frame to be sent. The TCP
and Tor plugins use a socket timeout equal to twice the idle interval to
detect dead connections.
See bugs #27 , #46 and #60 .
2014-12-13 12:00:40 +00:00
akwizgran
ab467b3d3e
Flush the output stream before rather than after waiting for packets.
...
See bug #27 .
2014-11-09 18:03:24 +00:00
akwizgran
4b92de619c
Added missing packet handlers to IncomingSession.
2014-11-09 17:20:06 +00:00
akwizgran
1d20761123
Messaging sessions aren't responsible for closing their streams.
...
The TransportReader/Writer's dispose() method should handle that, and
ConnectionManager is responsible for calling it.
2014-11-06 13:13:23 +00:00
akwizgran
1f4d801162
Interrupt all messaging sessions when the app starts shutting down.
...
This makes it more likely that connections will be closed cleanly.
However, the interrupt() method is currently ineffective for incoming
sessions as it won't interrupt a blocking read, e.g. when the packet
reader is waiting for a packet.
2014-11-06 08:24:08 +00:00
akwizgran
852a618cb3
Interrupt messaging session if contact or transport is removed.
2014-11-06 08:10:29 +00:00
akwizgran
26d93b83b4
Factored out StreamReader/Writer from messaging layer.
2014-11-05 19:22:01 +00:00
akwizgran
dfa4860200
Cancel database queries if the messaging session has been interrupted.
2014-11-05 18:34:59 +00:00
akwizgran
33c3eb7308
PacketWriters aren't responsible for flushing their output streams.
2014-11-04 17:03:06 +00:00
akwizgran
7b8181e309
Massive refactoring to merge handling of simplex and duplex connections.
2014-11-04 16:51:25 +00:00
akwizgran
b24f153704
Renamed a load of things from 'connection' to 'stream'.
2014-10-08 16:21:55 +01:00
akwizgran
8b8df435a5
Separated event infrastructure from DB.
2014-10-03 09:44:54 +01:00
akwizgran
f90f7c5e7b
Use a single-threaded executor for the database.
...
This ensures that if two DatabaseExecutor tasks update the database and
broadcast events, the events are broadcast in the same order as the
updates occurred.
2014-07-04 15:16:55 +01:00
akwizgran
79166e9b2f
Reject subscription updates with duplicate entries. Bug #65 .
2014-04-04 01:08:36 +01:00
akwizgran
fc66f6ed8a
Log the running time of key validation and message verification.
2014-03-22 00:30:29 +00:00
akwizgran
8c18773141
Write the tag immediately even if there are no packets to send. Bug #27 .
2014-03-16 18:13:31 +00:00
akwizgran
b270f0e8b1
Call Thread.currentThread().interrupt() when handling interruption.
2014-03-12 21:11:11 +00:00
akwizgran
b99a503f24
Removed unnecessary conditionals from logging statements.
...
Very important stuff.
2014-03-12 21:00:14 +00:00
akwizgran
71a31c2a7a
Include creation time in LocalAuthor.
...
This allows the oldest LocalAuthor to be used as the default.
2014-02-10 12:14:09 +00:00
akwizgran
4154119ea5
Convert to and from UTF-8 without catching impossible exceptions.
...
All JVMs must support UTF-8 encoding.
2014-02-07 22:02:02 +00:00
akwizgran
cde4ca574f
Check that author and group names aren't empty.
2014-01-31 17:23:14 +00:00
akwizgran
93890d56f6
GroupReader was looking for an optional key, not a mandatory salt.
...
This should've been changed when restricted groups were removed.
2014-01-31 17:21:51 +00:00
akwizgran
822392f9e7
Use strings rather than hashes to identify transports. Dev task #64 .
2014-01-24 10:39:34 +00:00
akwizgran
6af3c54c28
Removed shouldFlush() from plugins, added missing PacketWriter method.
2014-01-15 17:10:25 +00:00
akwizgran
db96994d5c
Simplified the serialisation format. Other task #39 .
...
The new format is simpler but less efficient for small integers, short
strings and short byte arrays.
2014-01-14 22:40:47 +00:00
akwizgran
832476412c
Changed the root package from net.sf.briar to org.briarproject.
2014-01-08 16:18:30 +00:00