Commit Graph

746 Commits

Author SHA1 Message Date
akwizgran f5628e5581 Use Guice rather than reflection to load plugins.
This allows different plugins to have different dependencies without
cluttering the plugin factory API.
2012-12-15 01:16:48 +00:00
akwizgran 8bc27528a6 Reduced visibilty of constructors. 2012-12-15 00:10:29 +00:00
akwizgran 13df22f69a Better hashCode methods. 2012-12-14 22:11:29 +00:00
akwizgran 47749c3c0d Converted ReliabilityLayer into an interface for better testability. 2012-12-14 21:57:50 +00:00
akwizgran e5d15d42d6 Use an executor for the reliability layer's writer task. 2012-12-14 21:24:12 +00:00
akwizgran 1e1a226f30 Reliability layer must call Sender.tick() periodically. 2012-12-14 20:44:28 +00:00
akwizgran 1bc3d52957 If an exception occurs during fast retransmission, propagate it. 2012-12-14 20:19:53 +00:00
akwizgran 6e567e1e55 Removed a redundant variable.
The offHook flag was equivalent to reliabilityLayer != null.
2012-12-14 19:42:55 +00:00
akwizgran 0bfa4f15a1 Safer locking for ModemImpl. 2012-12-14 19:34:25 +00:00
akwizgran cd3bacc8cf Code cleanup for modem plugin, better locking in ModemImpl. 2012-12-10 16:15:50 +00:00
akwizgran 15ab5be476 Equals method must be symmetric and transitive. 2012-12-09 20:29:29 +00:00
akwizgran a97dc0de6b Don't let references to this escape from constructors. 2012-12-07 17:22:24 +00:00
akwizgran 57bc9d3313 Flush the output stream when closing. 2012-12-07 17:21:58 +00:00
akwizgran 068d3b1dbd The reliability layer should run when the modem is off the hook. 2012-12-07 16:20:53 +00:00
akwizgran a6777f1fe1 Ensure each reliability layer is started and stopped. 2012-12-07 15:40:03 +00:00
akwizgran 19106ae044 Log exceptions with stack traces. 2012-12-07 15:22:34 +00:00
akwizgran 90978fa9c6 Removed verbose logging that was added for debugging. 2012-12-07 15:21:32 +00:00
akwizgran c4bf931b80 Ensure the reliability layer is stopped when the modem is stopped. 2012-12-07 15:03:54 +00:00
akwizgran 9528a8b6d6 Minor refactoring and logging for reliability layer. 2012-12-07 15:00:16 +00:00
akwizgran 28086e1a7f Abort connection attempt if NO CARRIER is received from modem. 2012-12-07 14:43:23 +00:00
akwizgran 64a8fb1888 Wait for all data to be acked when flushing output stream. Logging. 2012-12-06 18:20:55 +00:00
akwizgran 7759c10d23 Don't let references to this escape the constructor. 2012-12-06 16:57:31 +00:00
akwizgran 5516503f67 Removed broken code for flushing the output stream. 2012-12-06 16:56:08 +00:00
akwizgran 0b7ecde4c8 Wait for writes to complete before closing the serial port. 2012-12-06 16:36:51 +00:00
akwizgran 1786b39d6e Don't overwrite the first frame's header with data. 2012-12-06 16:09:15 +00:00
akwizgran d3062a992d Increased connection timeout to 2 minutes, more logging. 2012-12-06 16:05:57 +00:00
akwizgran 058323c6c2 Log at Level.INFO instead of Level.FINE. 2012-12-06 16:01:31 +00:00
akwizgran 940f362a97 More logging to debug the reliability layer. 2012-12-06 15:55:14 +00:00
akwizgran 706d3ea3cf Initialise the reliability layer. 2012-12-06 15:55:00 +00:00
akwizgran e9ebec44cd More logging to debug the reliability layer. 2012-12-06 15:45:14 +00:00
akwizgran 4c9c49fa55 Logging to debug reliability layer. 2012-12-06 15:36:51 +00:00
akwizgran f9ec483791 If the modem is off the hook when it's stopped, hang up. 2012-12-06 15:33:51 +00:00
akwizgran cdc89f5cba Recompiled jSSC for Java 1.5 (again). 2012-12-06 15:20:16 +00:00
akwizgran a4712140e6 Made serial port's state volatile, added method for stopping modem. 2012-12-06 15:09:04 +00:00
akwizgran 25fa4decfb Include /dev/ttyusbmodem* in serial port list on OS X. 2012-12-06 14:34:10 +00:00
akwizgran f0c61a9b25 Find Linux serial ports by exploring /dev rather than executing dmesg. 2012-12-06 14:17:03 +00:00
akwizgran 80f5e0a7ff Don't try to close the serial port if it wasn't opened. 2012-12-06 14:07:19 +00:00
akwizgran 4ece151df8 Include stack traces in logs. 2012-12-06 14:00:31 +00:00
akwizgran 56e7f459e8 Allow the modem to respond OK more than once. 2012-12-06 13:56:14 +00:00
akwizgran c13c01a114 Recompiled jSSC for Java 1.5. 2012-12-06 13:46:16 +00:00
akwizgran 12765ee173 Patched jSSC to recognise /dev/tty.modem as a serial port on OS X. 2012-12-06 13:43:30 +00:00
akwizgran aec43d6de7 Enabled logging in non-JUnit modem tests. 2012-12-06 13:36:10 +00:00
akwizgran dca9470c28 Updated ant build files for multi-project structure. 2012-12-05 23:15:35 +00:00
akwizgran f5626bee05 Moved API classes into a separate project to enforce dependency rules. 2012-12-05 22:19:12 +00:00
akwizgran b995a2dce8 Set Eclipse compilation target to Java 1.5. 2012-12-05 21:02:30 +00:00
akwizgran f4f7b96d50 Separated Android code and core code into distinct Eclipse projects.
This should make it possible to develop the core in Eclipse without the ADT.
2012-12-05 20:39:31 +00:00