[go: up one dir, main page]

Menu

Tree [b573c8] master / doc /
 History

HTTPS access


File Date Author Commit
 Changelog.txt 2025-01-30 Wolfgang Wolfgang [540fc3] Initial input for Release 1.0.0; completed deve...
 JennyNet-Developer.hjt 2025-02-01 Wolfgang Wolfgang [50afab] update of developer manual
 JennyNet-User-Manual.hjt 2025-01-30 Wolfgang Wolfgang [540fc3] Initial input for Release 1.0.0; completed deve...
 Kryo License.txt 2025-01-30 Wolfgang Wolfgang [540fc3] Initial input for Release 1.0.0; completed deve...
 License.txt 2025-01-30 Wolfgang Wolfgang [540fc3] Initial input for Release 1.0.0; completed deve...
 Readme.txt 2025-01-30 Wolfgang Wolfgang [540fc3] Initial input for Release 1.0.0; completed deve...

Read Me

Project JennyNet Network Transport Layer
Package-Version 1.0.0
Release: 30 Jan 2025
Author: (c) Wolfgang Keller, 2025
License: GNU GPL 3.0

== Status

With version 1.0.0 the project has reached a state of maturity and all
functions are implemented and well tested. While the basic conception is
the same, there are numerous design changes to the previously published
version (0.2.0). Projects which have used the old version will have to
modify their programs, possibly reconsider strategies. Fundamental 
methodical changes concern the use of threads in the layer, which is now
less extensive and more predictable in behaviour. It is guaranteed that
all event reporting, including communication results, occurs on layer-
owned threads. User threads are not involved in the working of the layer.
For a single connection all event reporting occurs sequentially; on the 
global level it is possible to have parallel event digestion on multiple
connections, while by default it all is occurring on the same thread.

From version 1.0 two serialisation methods are available: Java and Kryo.
"Java" implements the standard serialisation mechanics of Java and can
be used w/o external packages added. "Kryo" is an advanced method but
requires external packages, additional to JennyNet.

== Error Handling

The layer's policy on errors is that errors concerning the transmission
of OBJECTS lead to the closing of affected connections. This is
meaningful as the correct sequence of objects can be critical to 
applications. In contrast, errors concerning the transmission of FILES 
are limited to the abortion of the transmission and don't cause the 
closing of the connections in which they take place.

This behaviour is implemented if 'DefaultConnectionListener' is used
as super-class for custom connection-listeners. The behaviour can be
broken for more detailed reactions if event method 'objectAborted()' is
overwritten by application code. In this case serialisation based 
problems can be captured without the connection getting closed.

== External Software Packages

JennyNet optionally involves external software which is supplied ready
in the distribution package. Legal notices about this software are available
at the project wiki or in the document folder. It may not be assumed that
the license agreement for JennyNet stretches out over external software.
JennyNet can be used without external packages.