Skip to content

Commit

Permalink
Added useful information to the readme
Browse files Browse the repository at this point in the history
Problem: The README.md was basically empty.

Solution: Added useful content for using and modifying the project.
  • Loading branch information
danriegsecker committed Dec 9, 2014
1 parent 8fdee31 commit e9732d1
Showing 1 changed file with 76 additions and 3 deletions.
79 changes: 76 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,77 @@
filemq2
=======
# FileMQ implementation in C

Updated attempt at FileMQ which is a publish-subscribe file service based on 0MQ
This project is an updated attempt at FileMQ which is a publish-subscribe file service based on 0MQ. The original project resides at http://github.com/zeromq/filemq. The specifications for the FileMQ protocol reside at http://rfc.zeromq.org/spec:35.

The following is an explanation from the original project...

## Why FileMQ?

"Request-reply is just a vulgar subclass of publish-subscribe" -- me, in "Software Architecture over 0MQ".

It's the API my 5-year old son can use. It runs on every machine there is. It carries binary objects of any size and format. It plugs into almost every application in existence. Yes, it's your file system.

So this is FileMQ. It's a "chunked, flow-controlled, restartable, cancellable, async, multicast file transfer ØMQ protocol", server and client. The protocol spec is at http://rfc.zeromq.org/spec:19. It's a rough cut, good enough to prove or disprove the concept.

What problems does FileMQ solve? Well, two main things. First, it creates a stupidly simple pub-sub messaging system that literally anyone, and any application can use. You know the 0MQ pub-sub model, where a publisher distributes files to a set of subscribers. The radio broadcast model, where you join at any time, get stuff, then leave when you're bored. That's FileMQ. Second, it wraps this up in a proper server and client that runs in the background. You may get something similar to the DropBox experience but there is no attempt, yet, at full synchronization, and certainly not in both directions.

End explanation

## Installation for general use

This code needs the latest versions of libsodium, libzmq, and CZMQ. To build:

git clone git://github.com/jedisct1/libsodium.git
cd libsodium
./autogen.sh
./configure
make check
sudo make install
sudo ldconfig
cd ..

git clone git://github.com/zeromq/libzmq.git
cd libzmq
./autogen.sh
./configure
make check
sudo make install
sudo ldconfig
cd ..

git clone git://github.com/zeromq/czmq.git
cd czmq
./autogen.sh
./configure
make check
sudo make install
sudo ldconfig
cd ..

git clone git://github.com/danriegsecker/filemq2.git
cd filemq2
./autogen.sh
./configure
make check
sudo make install
sudo ldconfig
cd ..

## Installation for modification

Follow all the steps for "Installation for general use" and additionally do the following steps.

git clone git://github.com/zeromq/zproject.git
cd zproject
./autogen.sh
./configure
make check
sudo make install
cd ..

git clone git://github.com/zeromq/zproto.git
cd zproto
./autogen.sh
./configure
make check
sudo make install
cd ..

0 comments on commit e9732d1

Please sign in to comment.