Skip to content
RomanMokych edited this page Oct 10, 2015 · 2 revisions

General description

p2p will provide ability to exchange files in the network with all to all access.

p2p program complex will have three main instances:

  • Server - will publish/unpublish files;
  • Client - will get list of published files by all servers and download some of them;
  • Broker - will store info for all published files and will provide that info to the clients, servers will push such info to the broker. Broker is kind of link between clients and servers.

Functional requirements

p2p program complex will have next functionality:

  • ability to publish file;
  • ability to unpublish file;
  • ability to view published files of the server;
  • ability to download published file from the server to client;
  • ability to view progress of the file downloading process (FDP) on client and on server;
  • ability to cancel FDP on the client;
  • ability to ability to start several FDP on one client/server;
  • ability to download folders (with all its content);
  • ability to recovery interrupted file transfer (in case of network issues or some other reconnect);

Optional requirements:

  • authentication;
  • permissions of the accounts;
  • encryption of the communications between client-server-broker;
  • compressing of the sent data;
  • priorities of the file downloads;
  • rules/restrictions for the network usage;

Components

There should be next components (details will be provided):

  • Broker - command line tool.
  • Client - command line tool.
  • Server - command line tool.
  • Server Monitor - iOS app.
  • Broker Monitor - Web Site.
  • Client + Server - desktop Qt App.

Clone this wiki locally