Git Product home page Git Product logo

daft's People

Contributors

thizanne avatar unixjunkie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

thizanne

daft's Issues

resurrection

given a machines file, daft should be able to restore a working state in case
none of the former DS deleted its local datastore upon exit

rget

get for a remote DS

add a can_compress boolean to File.Chunk.t or File.t

if the user called daft with -z: set the boolean in case
the file is smaller after compression.
Otherwise, unset the bool and act accordingly.
This is an optimization so that we disable compression automatically
for files that do not compress.

mput

put working even with a directory

rput

put for a remote DS

protect against message replays

At send time:
unique_id = host ^ ":" ^ port ^ ":" ^ message_num
put it in a StringSet
at reception time:
look for unique_id into the StringSet
create a None and warn about it in case the message
was already seen
else give the message to the rest of the pipelin

we need indirect chunks

an indirect chunk is a reference to a real chunk.
they will be used by files created with cat
and if we implement file chunk deduplication, some day

cat

cat f1 f2 f3 dst_file <=> bash shell: cat f1 f2 f3 > dst_file
this operates only on metadata, it should be super fast

-d option for DS

upon exit: destroy/delete the local data store in case the user gave this option

rfetch is broken

it crashes on files with > 1 chunk, the last one being smaller than the regular chunk size

mget

get working even with a directory

encryption

do it before signing

then do less data copy when encoding and decoding

blocking get

when a client want to wait for a file to appear in the system

random tester

  1. we need a data set
  2. then a program doing random tests with it (choosing a command randomly then
    choosing more or less randomly the command parameters)

If it can run long enough, it will probably do a full code coverage or discover
bugs if stopping prematurely

replace Marshal with bin_prot

"binprot will not crash on illegal input"
I just hope it will throw a nice exception we can catch in that case then

self deployment

when the mds is started, it should start all DSs too since it has the machines file
this is a sequence of scp then ssh

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.