Reactive-Streams
This project is a result of my bachelor Thesis about reactive programming. It has two implementations. First one in an reactive manner and second one in an blocking manner. It's recommended to familiarize yourself with the thesis, before you start looking this code.
The Javadocs of this Project are here
The Scaladocs of this Project are here
Date of Submission |
---|
28.02.2019 |
Test
The sync package contains the implementation of a synchronous Server and Client. The async package contains the implementation of the reactive Server and Client.
If you want to test the reactive or synchronous server implementation you need to start a CarServer Instance.
The Servers are located in prototype.asnyc/sync.server
.
After you started the server you need to run the Test.
Depending on which Server you started (reactive or sync) you need to run the corresponding Scalatest
AsyncSimulation or SyncSimulation in the benchmark
package.
Each Simulation starts ten Futures as Clients (Car) and measures the Flow of successfully processed requests. After testing it will be a txt file generated with measure-details.
Be aware that the reactive Server and Client only run on Java 8
.
Graphic User Interface
If you want to checkout the GUI you need to switch to the gui branch. The reason why the gui is on a separate branch is, because it's not part of the core-software. It's more like a extension, where you can see, whats happening with incoming measurements from Car. The Main-Method of the reactive Server (prototype.async) instantiate a Monitor JFrame and get incoming Measurements in a reactive manner. The ui is only available for the reactive Implementation, because it handles incoming Measurements in reactive manner.