Menu

Tree [b573c8] master /
 History

HTTPS access


File Date Author Commit
 bin 2025-02-13 Wolfgang Wolfgang [b573c8] corrected file placement; new: deployment files
 doc 2025-02-01 Wolfgang Wolfgang [50afab] update of developer manual
 lib 2025-01-30 Wolfgang Wolfgang [540fc3] Initial input for Release 1.0.0; completed deve...
 src 2025-02-13 Wolfgang Wolfgang [b573c8] corrected file placement; new: deployment files
 LICENSE 2025-01-19 Wolfgang Keller Wolfgang Keller [6337ce] Update LICENSE to GPL 3.0
 MANIFEST-APPL-SERVER.MF 2025-01-30 Wolfgang Wolfgang [540fc3] Initial input for Release 1.0.0; completed deve...
 MANIFEST-RFT-SV1.MF 2025-01-30 Wolfgang Wolfgang [540fc3] Initial input for Release 1.0.0; completed deve...
 MANIFEST-SND-SV1.MF 2025-01-30 Wolfgang Wolfgang [540fc3] Initial input for Release 1.0.0; completed deve...
 README.md 2025-02-10 Wolfgang Keller Wolfgang Keller [6fbe9d] Update README.md, Maven Central entries
 build.xml 2025-01-30 Wolfgang Wolfgang [540fc3] Initial input for Release 1.0.0; completed deve...
 dependencies.xml 2025-02-11 Wolfgang Wolfgang [822777] added POM files and dependencies.
 jennynet-1.0.0.pom 2025-02-11 Wolfgang Wolfgang [822777] added POM files and dependencies.
 jennynet-all-1.0.0.pom 2025-02-11 Wolfgang Wolfgang [822777] added POM files and dependencies.

Read Me

JennyNet

Java transport layer on the TCP/IP network
License:   GNU AGPL 3.0
Author: Wolfgang Keller
Published Software Version:  1.0.0 of 30. Jan 2025

JennyNet eases the way in which Java objects and files can be transmitted over the Internet by Java applications in the context of a client/server or peer-to-peer communication architecture. JennyNet is designed to work efficiently on multi-core computers and enables parallel processing of sending and receiving streams. Atomic communication units are objects (graphs of objects) of serialisable Java classes and files of the file-system. Communication is divided into channels which are described by the transport data-types and transmit-priority attributes. Each channel ensures that the sequence of posting objects or files is replicated at the remote end.

Main Features

  • multi-threaded design optimises execution on multi-core machines and relieves applications from most blocking considerations.
  • automated serialisation/de-serialisation of Java objects and object graphs of registered classes.
  • two standard serialisation methods: a) Java Serialization framework, b) Kryo serialisation, plus a void slot for custom serialisations.
  • comfortable "background" file transfers (won't affect object communication).
  • 5 priority channels for object and file transmissions; sending actions are performed with priority attributes. This allows data to be instantly preferred to ongoing transmissions of a lower priority channel.
  • event-driven communication of application and layer, optional polling service.
  • highly reactive interface; does not block application when large or multiple objects or files are being transmitted.
  • extra services like PING signals, ALIVE signaling and IDLE connection alarming.
  • thread impact is 2-3 per connection, plus 2-4 on the static level.
  • well documented interfaces and Javadoc-API

Release and Requirements

  • Java Standard Library (jennynet-[version].jar) for standard Java serialisation, size of 150 KiB.
  • Java Full Library (jennynet-all-[version].jar) for Java and Kryo serialisation, size of 600 KiB.
  • Java Virtual Machine (JRE) of version 1.8 or higher.
  • "all"-package includes external software (Kryo-4.0) for the optional use of Kryo-serialisation.

Maven Central

pkg:maven/io.github.kse2/jennynet@1.0.0

pkg:maven/io.github.kse2/jennynet-all@1.0.0

<dependency>
    <groupId>io.github.kse2</groupId>
    <artifactId>jennynet</artifactId>
    <version>1.0.0</version>
</dependency>

<dependency>
    <groupId>io.github.kse2</groupId>
    <artifactId>jennynet-all</artifactId>
    <version>1.0.0</version>
</dependency>

Documentation

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.