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.

class_diagram View in full resolution.

The Dscuss git repository contains the source file of the scheme. It can be opened and edited in Dia.