Commit Graph

206 Commits (30a59c950ee6ca37df9283de778e85d02639930a)

Author SHA1 Message Date
jmjatlanta e5e565272e Continue to listen to connected peers within bitswap engine 2017-08-02 09:43:27 -05:00
jmjatlanta 0638996684 processing want list 2017-08-02 07:04:06 -05:00
jmjatlanta 836fb5387b Attempting to fulfill remote requests 2017-07-31 17:59:51 -05:00
John Jones ac5a622400 Passing SessionContext instead of Stream 2017-07-31 13:54:09 -05:00
jmjatlanta e4f1c9b39c Making providerstore smarter 2017-07-31 12:50:12 -05:00
John Jones d969f48324 implementation of bitswap network receive 2017-07-31 08:16:52 -05:00
John Jones 45c997cd9a Merge branch 'master' of https://github.com/kenCode-de/c-ipfs 2017-07-31 06:43:28 -05:00
John Jones 059a3286c9 More bitswap implementation 2017-07-31 06:43:15 -05:00
Jose Marcial Vieira Bisneto 5941a3593a Added body transmitted directly in the API. 2017-07-28 00:43:36 -03:00
John Jones 73d7d5daed More implementation of bitswap 2017-07-27 12:05:41 -05:00
John Jones e1135fef3b Beginnings of the multithreaded engine
This engine has 2 threads. One to process the request queue, the other
to gather up and build peer messages and send them.
2017-07-27 08:38:57 -05:00
John Jones 10aa932e08 Unit testing and memory fixes 2017-07-26 09:48:04 -05:00
John Jones 692d3406c8 Implementation of a universal bitswap queue
This queue stores both local and remote requests for blocks
2017-07-26 07:38:47 -05:00
John Jones 108792ca44 More changes for bitswap 2017-07-24 17:58:39 -05:00
John Jones 3a8a85e628 More buildout of the Bitswap protocol 2017-07-24 16:03:56 -05:00
John Jones 9924d5dcf7 Connecting bitswap and blockstore 2017-07-24 14:56:30 -05:00
jmjatlanta 5507937bff Merge branch 'master' of https://github.com/kenCode-de/c-ipfs 2017-07-24 09:09:48 -05:00
jmjatlanta a63910e0d7 Adding bitswap request queue 2017-07-24 09:09:22 -05:00
Jose Marcial Vieira Bisneto bde4d4debe Initial handling of http request structure. 2017-07-23 22:24:14 -03:00
Jose Marcial Vieira Bisneto cce43e2bce Initial API implementation. 2017-07-21 00:40:43 -03:00
jmjatlanta f47a6116f0 Adding basic unit tests for Bitswap protobuf 2017-07-20 15:16:59 -05:00
jmjatlanta 2232d03854 Implementing protobuf objects for bitswap messages 2017-07-20 15:03:49 -05:00
jmjatlanta 1fe5be1c5c Reading replication parameters from config file 2017-07-20 09:12:31 -05:00
jmjatlanta 6e19c14bab directory modification 2017-07-20 08:03:34 -05:00
jmjatlanta 250b88601a Beginnings of bitswap 2017-07-20 07:57:20 -05:00
John Jones 069379acf4 Fix of a few compiler warnings 2017-07-17 13:05:56 -05:00
Jose Marcial Vieira Bisneto 13b8b8bf27 Null routing code reallocated to facilitate routing protocol swap. 2017-07-06 23:51:53 -03:00
John Jones e756fdf510 Memory and test fixes 2017-04-27 11:35:26 -05:00
John Jones 43bf2caeff Tested and made adjustments for large file transfers 2017-04-24 16:33:59 -05:00
John Jones 03696dd6e7 Major changes to support large file transfer 2017-04-20 17:56:03 -05:00
John Jones a2a08156a7 Added thread pool to aid in clean daemon shutdown 2017-04-17 14:02:33 -05:00
John Jones 427b5c948f Added routines to cleanly shutdown daemon
This still needs more work, but the mechanism now exists
2017-04-17 11:58:47 -05:00
John Jones 2b0a29a06b Implemented find providers from remote peers
Now, you can ask a known node for a key, and it can pass a list of peers
that are perhaps unknownn to the calling peer.
2017-04-16 23:47:53 -05:00
John Jones 62096ffc1c Handling finding of peer via swarm
Also included is a way to pass port and swarm info to methods that build
the config file. This makes testing easier. Multiple peers can be
started on the same machine easily.
2017-04-13 09:31:58 -05:00
John Jones 794608a7ea Added -c or -config command line parameter
You can now specify the ipfs repository directory from the command line
by using -c [dir] or --config [dir]
2017-04-06 17:46:40 -05:00
John Jones 94d6005587 Moved datastore interface from ipfs to libp2p 2017-04-06 09:33:28 -05:00
John Jones 7b61c70639 added logging to daemon 2017-04-03 20:54:03 -05:00
John Jones 87cf779704 handling add provider 2017-04-03 17:26:33 -05:00
John Jones e90d966e44 Adding network and swarm functionality 2017-04-03 11:55:36 -05:00
John Jones 96b97ad347 Adding network calls to kademlia 2017-03-30 13:59:31 -05:00
John Jones 59af1c0b9e Using config file for bootstrap of kademlia 2017-03-24 16:51:00 -05:00
John Jones 8feb946087 debugging daemon 2017-03-24 14:29:00 -05:00
John Jones 640e4be5be fix for strtok_r 2017-03-21 13:40:46 -05:00
John Jones 25a2fa0c65 Testing string tokenizer 2017-03-21 12:58:39 -05:00
John Jones cfcabaecd0 Finishing NodeIO 2017-03-19 14:40:16 -05:00
John Jones 0b238eb5ac Implementing NodeIO 2017-03-19 08:05:25 -05:00
John Jones e8b8d06f24 refactoring + beginning of file transfer
Now attempting to use kademlia to find a hash, and NodeIO to transfer
the file
2017-03-19 07:47:19 -05:00
John Jones 93c4988f90 Added utility functions to multiaddress
Parsing of typical IP addresses is now easier
2017-03-09 18:47:27 -05:00
John Jones f494344b15 Adding kademlia routing to daemon 2017-03-09 18:03:21 -05:00
John Jones 43ca313854 Working with secio streams 2017-03-09 12:50:08 -05:00
John Jones f1aac5d707 Starting to handle get_value request 2017-02-27 12:27:40 -05:00
John Jones 7a6b138444 more ping cleanup and friendly interface to streams 2017-02-23 15:15:33 -05:00
John Jones daefe7604f Beginning of implementation of smarter connections for daemon 2017-02-22 11:48:42 -05:00
John Jones f8e4286740 Starting to make the daemon more intelligent 2017-02-22 10:56:11 -05:00
John Jones 8a2aabc013 Fixed some errors and warnings 2017-02-13 08:53:32 -05:00
Jose Marcial Vieira Bisneto 4cd4750f6f namesys: Fixed some compilation errors. 2017-02-13 08:52:22 -03:00
Jose Marcial Vieira Bisneto 0522bedd2a Implemented initial core/ping.
A fake plaintext ping/pong implementation, for now it's just
   to use as a POC for multistream and secio.
2017-02-09 23:53:58 -03:00
Jose Marcial Vieira Bisneto de6c4b2495 Initial implementation of core/daemon. 2017-02-09 22:10:21 -03:00
Jose Marcial Vieira Bisneto 1535273259 Initial implementation of routing/offline. 2017-02-02 22:15:28 -03:00
Jose Marcial Vieira Bisneto 6448a35a72 Implemented ipfs_pin_has_child 2017-01-05 19:01:24 -03:00
Jose Marcial Vieira Bisneto 4c330e29be Initial implementation of pin/set 2017-01-05 18:55:39 -03:00
jmjatlanta 61d0adc445 misc tweaks and fixes
Now paying attention to the IPFS_PATH environment variable to determine
where the repository is. Fixed some broken tests. Fixed a bug whereby a
subdirectory within a subdirectory was not displaying correctly when
imported.
2017-01-01 23:48:09 -05:00
Jose Marcial Vieira Bisneto f7a029ade3 Added pinned struct. 2016-12-30 02:55:25 -03:00
Jose Marcial Vieira Bisneto 9d194ad484 Implemented conversion between PinMode and string. 2016-12-30 01:50:45 -03:00
Jose Marcial Vieira Bisneto ef380f2a69 Initial implementation of pin/pin 2016-12-30 01:18:03 -03:00
jmjatlanta c2fe60949e Added the ability to retrieve the file using directories
Files can be refered to directly using their hash, or the hash of their
directory and the file name.
2016-12-29 19:05:44 -05:00
jmjatlanta 396dfc6abc Directory hashes match 2016-12-29 04:42:01 -05:00
jmjatlanta fa3dd77e96 Saving directories 2016-12-28 22:45:35 -05:00
jmjatlanta 9d77b2709f Beginnings of handling multiple files 2016-12-27 21:39:58 -05:00
jmjatlanta 1dcbf8962e Intermediate save for hash matching 2016-12-23 17:21:04 -05:00
jmjatlanta 15b432c70e Now using correct hashes on small files
Also added ipfs cat command line functionality
2016-12-23 12:53:03 -05:00
John Jones 8d2aeab016 Fixed various memory leaks 2016-12-23 10:49:30 -05:00
jmjatlanta 914d3caaed Intermidiate commit with big changes to storage formats
I am attempting to match the storage format of the reference
implementation, so as to generate the same hashes.
2016-12-23 09:37:43 -05:00
Jose Marcial Vieira Bisneto 7691fe0dc2 Created errs.c and moved to util directory. 2016-12-23 00:45:13 -03:00
Jose Marcial Vieira Bisneto 049078effc Some changes at namesys. 2016-12-23 00:28:30 -03:00
jmjatlanta da4b1f86f4 Added command ipfs object get [hash]
This will display the formatted data of a MerkleDag (links and data)
2016-12-22 10:21:18 -05:00
jmjatlanta 7fa0fc6a7b Added a simplistic command line.
From the command line, you can init the repository or add a file.
Directories coming soon...
2016-12-21 08:08:44 -05:00
jmjatlanta f8cdaf0a97 Merge branch 'master' of https://github.com/kenCode-de/c-ipfs 2016-12-21 06:40:31 -05:00
jmjatlanta c8fdb084e4 Moving closer to binary compatability with go version of ipfs
The files are now stored in the same format. Now it is necessary to
reverse engineer the directory structure
2016-12-21 06:40:19 -05:00
Jose Marcial Vieira Bisneto b17403b61a Initial implementation of namesys/publisher 2016-12-21 07:21:40 -03:00
Jose Marcial Vieira Bisneto 6b9d205ef2 Some changes at util/time 2016-12-21 07:14:21 -03:00
Jose Marcial Vieira Bisneto 41b7579f21 Some changes at namesys/pb 2016-12-20 21:08:51 -03:00
Jose Marcial Vieira Bisneto 5b8678b48c Some changes at namesys/routing 2016-12-20 20:54:37 -03:00
Jose Marcial Vieira Bisneto b914745b47 Removed redundant struct stime from util/time 2016-12-20 20:38:31 -03:00
jmjatlanta a654022d32 More work on unixfs protobuf 2016-12-19 17:21:21 -05:00
jmjatlanta 57ed4fd5e4 Beginnings of persistence for unixfs 2016-12-19 14:19:43 -05:00
jmjatlanta bece919c40 Merge branch 'master' of https://github.com/kenCode-de/c-ipfs 2016-12-19 09:03:45 -05:00
jmjatlanta a1166e840a Move of node to merkledag 2016-12-19 09:03:28 -05:00
Jose Marcial Vieira Bisneto fea5d3b8bf Initial implementation of namesys/routing 2016-12-16 00:30:40 -03:00
Jose Marcial Vieira Bisneto aa49c7dc35 Initial implementation of namesys/pb 2016-12-16 00:28:12 -03:00
jmjatlanta 1d63cdb4a1 Persisting large files in chunks 2016-12-15 12:38:08 -05:00
jmjatlanta 34301c286e Storing large files
Files larger than about 200K are split into smaller files and stored in
the ipfs file system in blocks.
2016-12-15 05:40:24 -05:00
jmjatlanta 033dd767b4 More work on persisting data to disk.
Blockstore now storing the data, whereas datastore is storing the key
and filename. The key should be the multihash (currently the sha256, not
the multihash), and the value is the filename (base32).
2016-12-14 12:07:43 -05:00
jmjatlanta bf0cbfb412 Removed compiler warnings, starting to import large files 2016-12-14 06:25:09 -05:00
Jose Marcial Vieira Bisneto 9ec06749f2 Initial implementation of util/time.c 2016-12-13 22:16:51 -03:00
John Jones 876e2dfcf2 Fixed memory leaks around node and allocations 2016-12-12 18:27:46 -05:00
jmjatlanta a36ba20557 made node links a single linked list instead of array
This will save some complicated memory allocations
2016-12-12 16:58:27 -05:00
jmjatlanta 4fe768c2c5 Working with nodes to add protobuf to persist to db
adding a link to a node does a realloc. I believe this is causing
problems. I am going to replace this and see if that fixes the issue.
2016-12-12 15:06:17 -05:00
jmjatlanta e0b0552b39 Pushing Cid into protobuf 2016-12-12 06:27:06 -05:00
Jose Marcial Vieira Bisneto 786bd5d80b Initial implementation of dnslink 2016-12-08 23:29:50 -03:00