Commit Graph

202 Commits (master)

Author SHA1 Message Date
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 9924d5dcf7 Connecting bitswap and blockstore 2017-07-24 14:56:30 -05:00
John Jones 4368e052e2 First cut of peer request queue complete 2017-07-24 10:26:07 -05:00
jmjatlanta a63910e0d7 Adding bitswap request queue 2017-07-24 09:09:22 -05:00
John Jones 2bb70b01be Some tweaks to avoid potential problems found during unit testing 2017-07-20 16:10:31 -05: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 cb05b249ba Fixed warnings 2017-07-17 16:14:40 -05:00
John Jones 069379acf4 Fix of a few compiler warnings 2017-07-17 13:05:56 -05:00
Jose Marcial Vieira Bisneto 297283168c Make sure don't crash if ipfs_routing_new_kademlia fails. 2017-07-07 00:11:52 -03:00
Jose Marcial Vieira Bisneto 8da685b5cf Implemented timeout to avoid hang due to connection error. 2017-07-06 23:02:11 -03:00
John Jones 6c936de20e Closing socket descriptor 2017-05-11 14:30:52 -05:00
John Jones a5e5a71ddd Fixes for various memory leaks 2017-05-11 13:53:52 -05:00
John Jones d6ee0f7d5d Fixed small memory leak 2017-05-11 07:13:13 -05:00
John Jones def5331d4c Better handling of locally stored files 2017-05-11 07:04:54 -05:00
John Jones 3de4b757e4 Bugfixes and unit test fixes 2017-04-27 15:52:20 -05:00
John Jones e756fdf510 Memory and test fixes 2017-04-27 11:35:26 -05:00
John Jones a991dab1bc Small change to logger cleanup 2017-04-27 00:10:25 -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 94d6005587 Moved datastore interface from ipfs to libp2p 2017-04-06 09:33:28 -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 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 d25e088b7c Built some system tests
Testing the retrieve remote file area using kademlia
2017-03-23 08:28:35 -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 83242b0046 minor fixes 2017-03-21 12:11:41 -05:00
John Jones 8edc94509c c99 for centos 2017-03-21 15:20:52 +00: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 43ca313854 Working with secio streams 2017-03-09 12:50:08 -05:00
John Jones 15a8abff9a Made the stream methods more generic 2017-03-09 10:01:09 -05:00
John Jones cd5d347e63 Minor fixes to libp2p 2017-03-06 19:04:14 -05:00
John Jones f1aac5d707 Starting to handle get_value request 2017-02-27 12:27:40 -05:00
John Jones ae48e058dd Added ping functionality to multistream 2017-02-23 11:16:23 -05:00
John Jones 8a2aabc013 Fixed some errors and warnings 2017-02-13 08:53:32 -05:00
John Jones a3ec7bf41d Small change to provide a little more information for testing 2017-02-02 14:10:55 -05:00
John Jones 9882c28743 Fixed memory leaks
Several tests had memory leaks. As well found a few leaks within the
importer and resolver areas.
2017-01-02 00:38:09 -05: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
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
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
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 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
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 a1166e840a Move of node to merkledag 2016-12-19 09:03:28 -05: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
John Jones 5168bc87e0 Fixed memory leak in test 2016-12-14 12:24:44 -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
John Jones 88d177cf4a Fixed minor leak in test and more compiler warnings 2016-12-14 06:39:06 -05:00
jmjatlanta bf0cbfb412 Removed compiler warnings, starting to import large files 2016-12-14 06:25:09 -05: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
John Jones e69f10a68f Fixed memory leaks in node and test 2016-12-07 11:53:17 -05:00
jmjatlanta 4a6b88871a Merged in changes to node.h and node.c 2016-12-07 11:07:36 -05:00
John Jones a180a63160 Setting uninitialized values
Uninitialized values should be set to NULL to aid in memory deallocation
at cleanup time.
2016-12-05 18:17:17 -05:00
jmjatlanta da6490ac7f Implementation of MerkleDag get and put
Now saving and retrieving MerkleDags that contain data. Now need to work
with links and other types.
2016-12-05 17:23:58 -05:00
jmjatlanta 8a80d2afc7 now not permitting duplicate keys in the database 2016-12-05 14:34:10 -05:00
John Jones a7d8bc82b7 Fixed memory leak in test 2016-12-05 13:36:24 -05:00
jmjatlanta f9d927f375 Beginnings of testing for MerkleDag 2016-12-05 13:11:22 -05:00
jmjatlanta 0245aa6549 Starting implementation of MerkleDag 2016-12-05 10:50:17 -05:00
jmjatlanta 5f452969fd Merge branch 'master' of https://github.com/kenCode-de/c-ipfs 2016-12-05 07:12:37 -05:00
jmjatlanta f79d2f9f0c Removal of incorrect copyright notice 2016-12-05 07:12:23 -05:00
John Jones bf9ddfd6f6 Turned on warnings for compilation 2016-12-05 06:54:21 -05:00
jmjatlanta b9b90014a6 Fixed tests 2016-12-05 06:13:20 -05:00
xethyrion 53b893bda2 Update testit.c 2016-12-04 22:13:57 +02:00
xethyrion 2ee91f7621 Update testit.c 2016-12-03 22:52:49 +02:00
John Jones 5b7f89bdf1 Fixed memory leaks 2016-12-01 13:08:30 -05:00
John Jones b462d9ef53 More storage implementation
Successfully writing to lightningdb. Now to pull it back out. Also need
to write to the blockstore.
2016-11-30 11:46:41 -05:00
John Jones 4626b69381 More code for storage
Pushing through on the ipfs block put use case. Building out the
necessary code to write to the blockstore.
2016-11-28 16:13:46 -05:00
John Jones 50ffade515 More work on storage and cleanup
Added flatfs, as well as fixed some memory leaks. Valgrind across tests
now reports 0 memory leaks.
2016-11-28 08:09:00 -05:00
John Jones c64a700223 The beginnings of datastore
A lot of code cleanup, plus beginning the implementation of a datastore.
2016-11-17 15:07:59 -05:00
John Jones 0b765481da Remove unnecessary binary 2016-11-15 21:24:54 -05:00
John Jones 77e2cc279f More work on Cid 2016-11-14 18:02:18 -05:00
John Jones 02c5552cd6 Added multibase and cid 2016-11-13 21:01:51 -05:00
John Jones 32d187faa4 adjusted makefiles, generating config file for new ipfs repository 2016-11-10 08:28:51 -05:00
John Jones 8d82e8235b Adjusted makefiles 2016-11-07 16:29:30 -05:00
jmjatlanta eb2ed30a24 Moving crypto stuff to libp2p 2016-11-03 10:22:17 -05:00
jmjatlanta cba5d5cf20 finally actually writing the config file, although the peerid and private key are not included 2016-11-02 23:05:29 -05:00
jmjatlanta d30fa55af7 memory cleanup reorganized 2016-11-02 13:44:56 -05:00
jmjatlanta 0d8f599ac9 Config file is now closer to completion. Still need to figure out ASN.1 DER for private key, and add peer id to config file 2016-11-02 13:09:38 -05:00
jmjatlanta 772857312f More work on the config file. Attempting to replicate the go version of the private key base64. 2016-10-31 17:19:27 -05:00
jmjatlanta e1c1a7ffbf many changes in layout, addition of mbedtls library for RSA encryption. 2016-10-31 11:13:42 -05:00
jmjatlanta 9c309ebbc6 More buildout of necessary structs 2016-10-27 13:11:34 -05:00
jmjatlanta a38c3a8253 building the init command struct 2016-10-26 21:13:32 -05:00
jmjatlanta ffb226cbee Small changes to make clean 2016-10-26 20:16:25 -05:00
jmjatlanta 689408ffe9 First stab at ipfs init 2016-10-26 20:14:07 -05:00