Clone wiki

frigo / Home

Frigo is a file sharing utility intended to be used to share assets between computers that are part of a multimedia installation. It uses HTTP and JSON.

Design Choices

  • Use comet for notifications (JSON over a persistent HTTP connexion
  • RESTful uses TCP, standard HTTP URL and methods.
  • Use JSON whenever suitable. (not XML)
  • When a client is not reachable the pusher gives up.
  • Use inotify for monitor directories. (Linux only) Alternatively, we could use FAM or poll the list of files.

Sequence Diagram

 Client/subscriber                Server
  |                                 |
  |---- PUT>|   (subscription to the pusher)
  |<----------- OK------------------|
  |                                 |
  |<-- PUT new file xxx.jpg---------|   (pushing an event to subscribers)
  |                                 |
  |---- GET files list ------------>|   (get list of files)
  |<-----{'ham', 'spam', 'egg'} ----|
  |                                 |
  |----- GET xxx.jpg -------------->|
  |<--588cc9cc9a718ab568b3e1977cc9--|   (download the file)
  |                                 |