John Jones
059a3286c9
More bitswap implementation
2017-07-31 06:43:15 -05:00
John Jones
b3bb857f3a
Still testing bitswap
2017-07-27 14:33:19 -05: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
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
297283168c
Make sure don't crash if ipfs_routing_new_kademlia fails.
2017-07-07 00:11:52 -03:00
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