Brief description of the architecture (key design decisions)
- It's a long-duration service - it runs for extended amount of time, time spent for establishing connection between peers is much smaller than the average lifetime of the connection.
- It's an internal service - service that receives requests is the same service that handles the request.
- It's a modular service - decomposed into three main subsystems (
Owner
,Storage
,Peer
). - It's a standing server - it continues to run beyond lifetime of any peer connection it establishes.
- It'a a statically configured server - you need to restart the server to apply changes in the config file.
- It's a concurrent server - it handles multiple peer connections simultaneously.
Class diagram
Class diagram of the Dscuss application is represented below.
View in full resolution.
The Dscuss git repository contains the source file of the scheme. It can be opened and edited in Dia.