Commit Graph

507 Commits

Author SHA1 Message Date
akwizgran
02c516492f Moved connection window size to TransportConstants. 2012-01-19 22:13:26 +00:00
akwizgran
aabb8fb5b3 Split the functionality of ConnectionWriterImpl into layers. 2012-01-19 20:51:45 +00:00
akwizgran
12393581f9 Split the functionality of ConnectionReaderImpl into layers. 2012-01-19 19:52:15 +00:00
akwizgran
1f39bfef78 Distinguish between recoverable and unrecoverable errors. 2012-01-19 19:27:04 +00:00
akwizgran
7eaa1f176f Removed a println. 2012-01-19 18:51:55 +00:00
akwizgran
f53cc88b8f Reduced the visibility of a class. 2012-01-17 21:51:33 +00:00
akwizgran
249c82d30e Renamed frame cipher -> segment cipher, frame key -> segment key. 2012-01-17 21:44:28 +00:00
akwizgran
6085b70b85 Factory methods for segmented connection writers. 2012-01-17 20:29:30 +00:00
akwizgran
dbeb7a207e Added factory methods for segmented connection readers. 2012-01-17 20:21:26 +00:00
akwizgran
87e1c42bf8 Converted the outgoing encryption layer from frames to segments. 2012-01-17 17:37:38 +00:00
akwizgran
f6ed6dd60b Converted incoming encryption layer from frames to segments. 2012-01-17 16:45:25 +00:00
akwizgran
8c0020873c Updated transport constants and renamed some test classes. 2012-01-17 14:56:30 +00:00
akwizgran
9bd0b60dec Renamed some classes. 2012-01-17 13:19:40 +00:00
akwizgran
79814bd406 Segmented plugin interfaces should extend general plugin interfaces. 2012-01-17 13:02:20 +00:00
akwizgran
b2cab71637 Decryption code for tagging every segment. 2012-01-13 16:58:41 +00:00
akwizgran
0d06ad8bd8 Unit tests for tagging every segment. 2012-01-13 15:56:53 +00:00
akwizgran
07f8607c04 Initial support for tagging every segment (untested). 2012-01-13 15:50:43 +00:00
akwizgran
ac136d3732 Pass segments rather than frames to/from segmented plugins. 2012-01-13 15:05:42 +00:00
akwizgran
d0e402062a Unit tests for segmented encrypter and decrypter. 2012-01-13 13:06:43 +00:00
akwizgran
90e54d94e6 Encrypter and decrypter for segmented transports (untested). 2012-01-13 11:54:55 +00:00
akwizgran
ab9b05448d APIs for segmented transports. 2012-01-13 10:53:23 +00:00
akwizgran
f6cad10868 Frame-at-a-time decryption. 2012-01-12 18:41:43 +00:00
akwizgran
f55f98f506 Frame-at-a-time encryption. 2012-01-11 17:50:24 +00:00
akwizgran
99caec9448 Refactoring.
Unidirectional transports and connections are now called
simplex rather than batch. Bidirectional transports and connections
are now called duplex rather than stream.
2012-01-11 17:00:47 +00:00
akwizgran
1499e061c1 Callback should not be null. 2012-01-11 16:17:14 +00:00
akwizgran
3e61adb623 Avoid making alien calls with locks held. 2011-12-10 19:21:00 +00:00
akwizgran
cbc5fd1bb4 If the reader detects a clean close, let the writer finish and close
cleanly.
2011-12-10 16:53:04 +00:00
akwizgran
f2de23854e Added BoundedExecutor and documented executor policies. 2011-12-10 00:59:29 +00:00
akwizgran
e47d4990c3 Fixed Bluetooth shutdown issues. 2011-12-09 23:01:32 +00:00
akwizgran
5ba5887565 Debugging Bluetooth threading issues. 2011-12-09 22:20:32 +00:00
akwizgran
4671b50b37 Close the invitation socket early if a connection is received. 2011-12-09 21:36:53 +00:00
akwizgran
8af7e72943 Cancel outstanding tasks and shut down the executor. 2011-12-09 21:13:53 +00:00
akwizgran
cd068e89c0 Converted plugin executor to ScheduledExecutorService.
No Thread.sleep() till Brooklyn.
2011-12-09 21:02:36 +00:00
akwizgran
2014235b86 Log the server socket details to make it easier to run manual tests
between two machines.
2011-12-09 20:41:05 +00:00
akwizgran
f9f41acde9 Added a connection registry to avoid creating redundant connections. 2011-12-09 17:34:58 +00:00
akwizgran
9abe920edb Plugin code cleanup. 2011-12-09 00:08:15 +00:00
akwizgran
2494ff1a1e Let the plugin determine whether to flush the output stream after each
packet.
2011-12-08 22:13:35 +00:00
akwizgran
844ae8f0a7 Plugins may dispose of resources differently depending on whether a
connection was recognised.
2011-12-08 18:56:53 +00:00
akwizgran
0fdc69ff00 Unit tests for OutgoingBatchConnection. 2011-12-08 17:46:28 +00:00
akwizgran
6962814eec Log the exception class when logging exceptions. 2011-12-08 17:28:05 +00:00
akwizgran
9f0b865ba8 Plugins should use the executor rather than creating threads. 2011-12-08 16:57:24 +00:00
akwizgran
c6b6c20205 Bind instances rather than singletons. 2011-12-08 16:37:09 +00:00
akwizgran
e3242ebb06 Read the tag on a connection recogniser thread, don't block the
plugin.
2011-12-08 16:33:48 +00:00
akwizgran
6e080bb35d Dedicated executors for plugins and the connection recogniser. 2011-12-08 16:11:24 +00:00
akwizgran
caf5f34828 Refactoring: moved high-level connection classes to protocol package. 2011-12-08 15:06:50 +00:00
akwizgran
1886609bef Removed frame padding code (soon to be obsolete). 2011-12-08 14:35:52 +00:00
akwizgran
d9fc8d18d1 Better handling of InterruptedExceptions. 2011-12-08 13:55:19 +00:00
akwizgran
c1ab21ba2f Don't generate acks faster than the IO thread can write them. 2011-12-08 12:56:00 +00:00
akwizgran
ae87100c8f Moved batch ID calculation off the IO thread. 2011-12-08 12:51:34 +00:00
akwizgran
d91f96b5e2 Close the writer when the reader closes; only dispose of the
connection once.
2011-12-08 00:06:05 +00:00