[purejavacomm] Fwd: Version 0.0.13 released

  • From: Kustaa Nyholm <feedback2@xxxxxxxxxxxxxxxxx>
  • To: purejavacomm@xxxxxxxxxxxxx
  • Date: Sun, 18 Nov 2012 12:02:52 +0200

Hi PureJavaComm fans,

Version 0.0.13 is out!

I know, I know,  0.0.12 lasted about five minutes,
this is just a quick fix to remove some extra output.

NOTE! This is an EXPERIMENTAL release, take care!

This release the smae fundamental improvements as
version 0.0.12 and hopes to improve performance,
especially on low performance platforms like RaspberryPI.

See the ChangeLog, quoted below, for details.

br Kusti

Version 0.0.13 *** EXPERIMENTAL ***

* Removed some debugging output from SerialPort.close() that
  was left there by mistake

* Added a new property that disables the internal us of
  a pipe to get nudge select()/poll() out of coma. The
  pipe uses two extra file descriptors so in a huge
  system this maybe a critical resource. To disable
  the use of the pipe set 'purejavacomm.usenudgepipe' to 'false'

Version 0.0.12 *** EXPERIMENTAL ***

* This version includes a major re-factoring of receive timeout and
  threshold handling to improve performance on low end platforms
  like RaspberryPI and to improve conformance to the JavaComm spec.

  This version has had limited testing so it may unintentially
  break existing applications, proceed with caution. This
  version has not been tested on Windows for the lack
  of suitable setup.

* New faster DirectMapping for poll() in Linux backend

* Linux backend now defaults to poll() instead of select()
  to default to better performance. This can be overridden
  by setting the system property 'purejavacomm.usepoll' to 'false'.

* Re-factored receive timeout and threshold handling that
  exploits the platform native VMIN and VTIME to reduce
  CPU loading

* Added property named 'purejavacomm.rawreadmode' that further
  reduces overhead in InputStream.read(...) with the
  risk of indefinite blocking on reads without timeout.

* Improved event handling to not to poll at all if control
  line notifications are not requested, to improve performance
  on low end platforms.  Currently this feature is not available
  on the Windows backend, where it is typically not needed.

* A blocking read() can now be interrupted by close()

* A blocking read() with timeout can no longer block indefinitely
  even if the serial line is indefinitely idle

* Added equals() and hashCode() methods to CommPortIdentfier
  to fix ownership mechanism

* PureJavaSeriaPort.getInputStream()/getOutputStream() now
  return same stream instances if called multiple times.

* Number of potential multithreading issues fixed

Other related posts: