Download Latest Version config-7.6.2.jar (82.7 kB)
Email in envelope

Get an email when there's a new version of eBus

Home / eBus 6.6.0
Name Modified Size InfoDownloads / Week
Parent folder
Library 2023-07-29
Source Code 2023-07-29
Tools 2023-07-29
Documentation 2023-07-29
README.txt 2023-07-29 3.0 kB
Totals: 5 Items   3.0 kB 0
eBus 6.6.0 Downloads


________________________________________________________________________________
*** ATTENTION ***

      As of release 6.0.0, eBus is now based on Java 11.
      eBus does *not* use modules at this time. Therefore include
      eBus jars in -classpath and not -modulepath.

      The eBus license also converted from LGPL 2.1 to
      Apache License 2.0. The reason for the license change is
      due to Apache License 2.0 being more end-user friendly that
      LGPL 2.1.

________________________________________________________________________________


Release 6.6.0 made the following changes:

Feature Requests:

  + Ticket 25: Make eBus API Android-compatible
    This required removing use of java.lang.management package.
    Added net.sf.eBus.util.ERuntime class which provides static
    method isAndroid which returns true if running on Android
    Runtime (ART). eBus API v. 6.6.0 is verified as being
    Android-compatible.

  + Ticket 26: Make StatusReporter a functional interface.
    net.sf.eBus.util.logging.StatusReporter is now marked with
    @FunctionalInterface allowing compatible methods to be used
    for status reporting.

  + Ticket 27: Use SocketAddress for binding.
    Server and client TCP and UDP sockets (both secure and
    cleartext) may now be bound to a SocketAddress rather than
    just a port. The previous methods which only bound to a port
    is still supported but will use the wildcard address.

Bugs:

  + Ticket 36: Correct TLS handshake race condition.
    A race condition exists TLS handshake between initiating
    client and accepting service. The initiating TCP socket may
    be told that the the handshake status is FINISHED but the
    accepted TCP socket is still processing the final handshake
    message. The result is that the initiating client sends an
    eBus logon message before the acceptor is ready to receive it
    and so the logon message is ignored.

    Solution is for initiating client to wait for acceptor to
    complete its handshake before sending eBus logon message.

  + Ticket 37: Correct ERemoteApp message key map.
    ERemoteApp maps message key to the remote advertised or
    subscribed feed. Because an advertisement and subscription
    can both reference the same message key, ERemoteApp can think
    there is a redundant advertisement or subscription if it
    receives both an advertisement and subscription for the same
    message key.

    The solution is to use MultiKey2<(Ad, Subscription),
    EMessageKey>. This allows both a remote advertisement and
    subscription to use the same message key.

There are four download folders:

+ Library: contains the eBus API jar files.

+ Documentation: contains the eBus Programmer's Manul in PDF and
          Javadoc folders in tar, gzipped and zip formats.

+ Source Code: snapshot of eBus maven project files at release
          time.

+ Tools: contains the eBus GUI application and configuration file
          needed to run the application.
Source: README.txt, updated 2023-07-29