Commit Graph

  • 7887331d1c Check the return value of Modem.start(). akwizgran 2012-12-16 00:10:20 +00:00
  • cfb90597bd Wrapped jSSC's SerialPort and SerialPortList classes for testability. akwizgran 2012-12-15 23:05:41 +00:00
  • b090a12b7f Accept phone numbers starting with +. akwizgran 2012-12-15 22:24:51 +00:00
  • 6dd17a22eb Converted Group from an interface to an immutable class. akwizgran 2012-12-15 19:42:00 +00:00
  • ac0420d276 Unit tests and bug fixes for international dialling. akwizgran 2012-12-15 16:36:37 +00:00
  • 8f33330e42 International dialling support for the modem plugin (untested). akwizgran 2012-12-15 16:17:04 +00:00
  • 3b3ab6fd1a Empty transport configs/properties should be treated the same as nulls. akwizgran 2012-12-15 16:02:35 +00:00
  • 28af51b156 SLIP classes don't need to depend on SLTP classes. akwizgran 2012-12-15 05:07:03 +00:00
  • 3e2e7286fe Wrapped System.currentTimeMillis() and Thread.sleep() for testability. akwizgran 2012-12-15 04:58:35 +00:00
  • 61e59f816d SLTP reads and writes should time out eventually. akwizgran 2012-12-15 04:30:43 +00:00
  • 15c23f486e Use +++ATH to hang up modem instead of lowering DTR (untested). akwizgran 2012-12-15 02:56:34 +00:00
  • a24275d9fc Javadocs for reliability package. akwizgran 2012-12-15 02:55:57 +00:00
  • 916fa66560 ReliabilityLayer doesn't need to expose a public WriteHandler interface. akwizgran 2012-12-15 02:21:35 +00:00
  • 5876583f7c Moved reliability layer into its own package. akwizgran 2012-12-15 02:07:46 +00:00
  • f5628e5581 Use Guice rather than reflection to load plugins. akwizgran 2012-12-15 01:16:48 +00:00
  • 8bc27528a6 Reduced visibilty of constructors. akwizgran 2012-12-15 00:10:29 +00:00
  • 13df22f69a Better hashCode methods. akwizgran 2012-12-14 22:11:29 +00:00
  • 47749c3c0d Converted ReliabilityLayer into an interface for better testability. akwizgran 2012-12-14 21:57:50 +00:00
  • e5d15d42d6 Use an executor for the reliability layer's writer task. akwizgran 2012-12-14 21:24:12 +00:00
  • 1e1a226f30 Reliability layer must call Sender.tick() periodically. akwizgran 2012-12-14 20:44:28 +00:00
  • 1bc3d52957 If an exception occurs during fast retransmission, propagate it. akwizgran 2012-12-14 20:19:53 +00:00
  • 6e567e1e55 Removed a redundant variable. akwizgran 2012-12-14 19:42:55 +00:00
  • 0bfa4f15a1 Safer locking for ModemImpl. akwizgran 2012-12-14 19:34:25 +00:00
  • cd3bacc8cf Code cleanup for modem plugin, better locking in ModemImpl. akwizgran 2012-12-10 16:15:50 +00:00
  • 15ab5be476 Equals method must be symmetric and transitive. akwizgran 2012-12-09 20:29:29 +00:00
  • a97dc0de6b Don't let references to this escape from constructors. akwizgran 2012-12-07 17:22:24 +00:00
  • 57bc9d3313 Flush the output stream when closing. akwizgran 2012-12-07 17:21:58 +00:00
  • 13f9127da0 Merge branch 'master' of file:///media/Verbatim/prototype akwizgran 2012-12-07 16:22:08 +00:00
  • cdeefbbc5f Wait 60 seconds for the server to hang up. akwizgran 2012-12-07 16:21:31 +00:00
  • 068d3b1dbd The reliability layer should run when the modem is off the hook. akwizgran 2012-12-07 16:20:53 +00:00
  • ef8841e712 Non-JUnit tests for detecting when the other end hangs up. akwizgran 2012-12-07 16:10:58 +00:00
  • a6777f1fe1 Ensure each reliability layer is started and stopped. akwizgran 2012-12-07 15:40:03 +00:00
  • 19106ae044 Log exceptions with stack traces. akwizgran 2012-12-07 15:22:34 +00:00
  • 90978fa9c6 Removed verbose logging that was added for debugging. akwizgran 2012-12-07 15:21:32 +00:00
  • c4bf931b80 Ensure the reliability layer is stopped when the modem is stopped. akwizgran 2012-12-07 15:03:54 +00:00
  • 9528a8b6d6 Minor refactoring and logging for reliability layer. akwizgran 2012-12-07 15:00:16 +00:00
  • 28086e1a7f Abort connection attempt if NO CARRIER is received from modem. akwizgran 2012-12-07 14:43:23 +00:00
  • 64a8fb1888 Wait for all data to be acked when flushing output stream. Logging. akwizgran 2012-12-06 18:20:55 +00:00
  • 7759c10d23 Don't let references to this escape the constructor. akwizgran 2012-12-06 16:57:31 +00:00
  • 5516503f67 Removed broken code for flushing the output stream. akwizgran 2012-12-06 16:56:08 +00:00
  • 0b7ecde4c8 Wait for writes to complete before closing the serial port. akwizgran 2012-12-06 16:36:51 +00:00
  • bfbcdfa5a7 Don't send and receive invitations unless the plugin supports it. akwizgran 2012-12-06 16:13:54 +00:00
  • 1786b39d6e Don't overwrite the first frame's header with data. akwizgran 2012-12-06 16:09:15 +00:00
  • d3062a992d Increased connection timeout to 2 minutes, more logging. akwizgran 2012-12-06 16:05:57 +00:00
  • 058323c6c2 Log at Level.INFO instead of Level.FINE. akwizgran 2012-12-06 16:01:31 +00:00
  • 940f362a97 More logging to debug the reliability layer. akwizgran 2012-12-06 15:55:14 +00:00
  • 706d3ea3cf Initialise the reliability layer. akwizgran 2012-12-06 15:55:00 +00:00
  • e9ebec44cd More logging to debug the reliability layer. akwizgran 2012-12-06 15:45:14 +00:00
  • 78953289f7 Flush the output stream after writing. akwizgran 2012-12-06 15:44:58 +00:00
  • 4c9c49fa55 Logging to debug reliability layer. akwizgran 2012-12-06 15:36:51 +00:00
  • f9ec483791 If the modem is off the hook when it's stopped, hang up. akwizgran 2012-12-06 15:33:51 +00:00
  • 584f7de0ab Wait a long time for a connection (modems take a while to connect). akwizgran 2012-12-06 15:27:26 +00:00
  • cdc89f5cba Recompiled jSSC for Java 1.5 (again). akwizgran 2012-12-06 15:20:16 +00:00
  • a4712140e6 Made serial port's state volatile, added method for stopping modem. akwizgran 2012-12-06 15:09:04 +00:00
  • 25fa4decfb Include /dev/ttyusbmodem* in serial port list on OS X. akwizgran 2012-12-06 14:34:10 +00:00
  • f0c61a9b25 Find Linux serial ports by exploring /dev rather than executing dmesg. akwizgran 2012-12-06 14:17:03 +00:00
  • 80f5e0a7ff Don't try to close the serial port if it wasn't opened. akwizgran 2012-12-06 14:07:19 +00:00
  • 4ece151df8 Include stack traces in logs. akwizgran 2012-12-06 14:00:31 +00:00
  • 56e7f459e8 Allow the modem to respond OK more than once. akwizgran 2012-12-06 13:56:14 +00:00
  • c13c01a114 Recompiled jSSC for Java 1.5. akwizgran 2012-12-06 13:46:16 +00:00
  • 12765ee173 Patched jSSC to recognise /dev/tty.modem as a serial port on OS X. akwizgran 2012-12-06 13:43:30 +00:00
  • aec43d6de7 Enabled logging in non-JUnit modem tests. akwizgran 2012-12-06 13:36:10 +00:00
  • 51a4f2fd62 Updated non-JUnit plugin tests and added tests for the modem plugin. akwizgran 2012-12-06 13:10:14 +00:00
  • dca9470c28 Updated ant build files for multi-project structure. akwizgran 2012-12-05 23:15:35 +00:00
  • f5626bee05 Moved API classes into a separate project to enforce dependency rules. akwizgran 2012-12-05 22:19:12 +00:00
  • 5204e0b907 Fixed ant build files for Android project. akwizgran 2012-12-05 21:31:13 +00:00
  • b995a2dce8 Set Eclipse compilation target to Java 1.5. akwizgran 2012-12-05 21:02:30 +00:00
  • 29d25cce6b Fixed classpaths of Android and test projects. akwizgran 2012-12-05 21:00:47 +00:00
  • fa295da4dd Merged prototype-test repo into prototype repo, as a separate Eclipse project. akwizgran 2012-12-05 20:41:01 +00:00
  • f4f7b96d50 Separated Android code and core code into distinct Eclipse projects. akwizgran 2012-12-05 20:39:31 +00:00
  • 366d391d89 Removed Java 1.6 API call. akwizgran 2012-11-30 12:53:03 +00:00
  • 4050c17a9a Recompiled jSSC for Java 1.5. akwizgran 2012-11-30 12:50:03 +00:00
  • 79aee8141a Logging for modem plugin. akwizgran 2012-11-30 12:11:49 +00:00
  • 7afd2d8f74 Don't accept an unreasonably large window size. akwizgran 2012-11-27 15:38:55 +00:00
  • 80543984be Use whole buffers for reads and writes. akwizgran 2012-11-27 15:16:56 +00:00
  • 705b87b97c Writes to the reliability layer should be asynchronous. akwizgran 2012-11-27 14:51:34 +00:00
  • f8210e1b13 Wake any readers that are waiting for data when the modem hangs up. akwizgran 2012-11-27 14:40:21 +00:00
  • 4869a8034b Removed unnecessary synchronization. akwizgran 2012-11-27 00:09:33 +00:00
  • 116e194185 Replace the modem instance if an exception occurs. akwizgran 2012-11-27 00:05:25 +00:00
  • 14f2fd1995 Code cleanup, fixed potential NullPointerException if never connected. akwizgran 2012-11-27 00:00:52 +00:00
  • a0c015352d Reliability layer for the modem plugin (untested). akwizgran 2012-11-26 23:54:17 +00:00
  • 38a8799a7c Removed stack traces. akwizgran 2012-11-26 23:53:15 +00:00
  • f487d4f48a Don't allow input or output streams to be used after hanging up. akwizgran 2012-11-26 22:26:07 +00:00
  • 4f37cb0837 The not operator is quite important. akwizgran 2012-11-26 21:26:35 +00:00
  • 2a293b5018 Use a fresh receive queue for each call. akwizgran 2012-11-26 16:16:36 +00:00
  • 98f1f26fcf Give names to threads for debugging purposes. akwizgran 2012-11-26 14:48:10 +00:00
  • 721a6b8950 First pass at a modem plugin. akwizgran 2012-11-26 14:09:18 +00:00
  • 6cc8463209 First pass at a modem plugin (unfinished). akwizgran 2012-11-24 13:35:23 +00:00
  • d706363866 Removed unnecessary throws declarations. akwizgran 2012-11-24 13:35:04 +00:00
  • dc932764ec You can't use an AtomicBoolean as a semaphore. akwizgran 2012-11-24 12:32:45 +00:00
  • 9a3157c3e6 Removed unnecessary locking. akwizgran 2012-11-24 11:46:49 +00:00
  • eb237e5bb0 Expose transport ID through plugin factory so it's available earlier. akwizgran 2012-11-24 11:13:12 +00:00
  • d90b4f4bc5 Allow Plugin.start() to fail gracefully; removed unnecessary locking. akwizgran 2012-11-24 10:50:20 +00:00
  • 66c155e41c Moved blocking operations off the serial port's event thread. akwizgran 2012-11-23 22:41:12 +00:00
  • f40abf1a18 Safer not to create a new queue for each connection (race condition). akwizgran 2012-11-23 22:36:47 +00:00
  • 61f4dce408 Try to leave the serial port in a reusable state if an exception occurs. akwizgran 2012-11-23 18:00:34 +00:00
  • 91cb3ce7a9 Modem implementation using jSSC (untested). akwizgran 2012-11-23 17:49:04 +00:00
  • 7f1b01bee1 Skeleton of modem plugin. akwizgran 2012-11-22 14:06:14 +00:00
  • e5f7ab7a2d Disable the Tor plugin by default. akwizgran 2012-11-21 16:49:01 +00:00
  • eb8ea1a324 Upgraded JNA platform jar to 3.5.1. akwizgran 2012-11-21 15:23:50 +00:00