Commit Graph

64 Commits

Author SHA1 Message Date
Brian Tiger Chow
0b42d77e13 refactor(core, bitswap) split bitswap init into two steps
@jbenet
2014-11-15 02:10:53 -08:00
Brian Tiger Chow
154cf4af75 refactor(bitswap/network) rename -> BitSwapNetwork
remove 'adapter' concept
instead, describe the component as the bitswap network

it's still an adapter, but it's just not necessary to describe it as
such
2014-11-15 02:10:53 -08:00
Brian Tiger Chow
cf1d463885 rename var 2014-11-15 02:10:53 -08:00
Brian Tiger Chow
2bc82adfae style(bitswap) rename Adapter -> BitSwapNetwork for clarity 2014-11-15 02:10:52 -08:00
Brian Tiger Chow
919fb31a16 style(bitswap) rename variable to 'routing' 2014-11-15 02:10:52 -08:00
Jeromy
d4c819e97d log -> logf 2014-11-12 10:39:11 -08:00
Brian Tiger Chow
34561b0da8 docs(exchange) 2014-11-08 21:42:37 -08:00
Juan Batiz-Benet
e5198b1446 bitswap error -> debug (use IPFS_LOGGING=debug) 2014-11-07 14:53:55 -08:00
Brian Tiger Chow
83716af890 fix(bitswap) shut down async 2014-11-05 10:13:24 -08:00
Brian Tiger Chow
40c5cca117 fix(bitswap) always cancel on return 2014-11-05 10:04:20 -08:00
Brian Tiger Chow
a529378ce0 fix(bitswap) don't 'go' local function calls 2014-11-05 10:04:20 -08:00
Brian Tiger Chow
c60d011764 fix(exchange) add context to DialPeer 2014-11-05 10:04:20 -08:00
Brian Tiger Chow
49ac059c37 docs: TODO 2014-11-02 20:40:25 -08:00
Jeromy
317ca2f865 benchmark secure channel 2014-11-01 16:07:56 -07:00
Brian Tiger Chow
cebeff43b9 style(bitswap/message) rename method -> AddBlock
to emphasize idempotence
2014-10-27 21:58:21 -07:00
Brian Tiger Chow
842b910853 style(bitswap/message) rename AppendWanted -> AddWanted
implementation will be patched to ensure bitswap messages cannot contain
duplicate blocks or keys
2014-10-27 21:58:20 -07:00
Brian Tiger Chow
8193049dda fix(bitswap) duplicate key in wantlist
@whyrusleeping noticed this a couple days ago

potential long-term fix: prevent duplicate entries in the wantlist by
using a map/set and iterating over this data structure on export
2014-10-27 21:58:20 -07:00
Jeromy
d92db12460 lots of logging 2014-10-26 00:45:40 +00:00
Jeromy
ab7491f809 logging, logging, and some minor logging 2014-10-25 14:50:22 -07:00
Jeromy
e1f2fe75f8 add in dag removal 2014-10-25 12:39:36 -07:00
Juan Batiz-Benet
184c25430b go-vet friendly codebase
- distinguish log.Error and log.Errorf functions
- Initialize structs with field names
- A bit of unreachable code (defers)
2014-10-25 03:46:39 -07:00
Brian Tiger Chow
715f5f4a19 fix(blockstore, bitswap) enforce threadsafety in blockstore
fixes data race detected in a testnet test
2014-10-24 16:16:41 -07:00
Juan Batiz-Benet
f7c1ed39e0 renamed datastore.go -> go-datastore 2014-10-21 15:10:58 -07:00
Juan Batiz-Benet
9ca87fbb93 peer.Peer is now an interface
![](http://m.memegen.com/77n7dk.jpg)
2014-10-20 03:26:46 -07:00
Juan Batiz-Benet
c894b1d295 iiii -> peerToQuery
(that wasn't mine :p)
2014-10-18 04:28:24 -07:00
Juan Batiz-Benet
4b5906e466 logging + tweaks 2014-10-18 04:28:24 -07:00
Juan Batiz-Benet
1555ce7c48 bitswap dials peers
Important bugfix. Otherwise bitswap cannot message peers
the node has not connected to yet :(
2014-10-18 04:28:23 -07:00
Juan Batiz-Benet
338b037238 clean up and add inet.Network to bitswap
new Service interface
2014-10-10 20:43:04 -07:00
Juan Batiz-Benet
972c0f7b4b u.DOut -> log.Debug
and other logging switches. I kept the u.PErr and u.POut in cli
commands, as those do need to write raw output directly.
2014-10-09 04:50:22 -07:00
Juan Batiz-Benet
7c5679536c bugfix: use consistent interface
We'll want a `type blocks.Block interface {}` later, but
for now, make sure Blockstore uses ptrs for both Get and Put.

+ fix NewBlock output compile error
2014-10-07 21:32:17 -07:00
Juan Batiz-Benet
77fccaa2f3 Obviated need for .ID.Pretty() all over the place. 2014-10-06 04:23:55 -07:00
Brian Tiger Chow
0e494690b3 feat(bitswap:network) propagate errors up the stack
Rather than pushing errors back down to lower layers, propagate the
errors upward.

This commit adds a `ReceiveError` method to BitSwap's network receiver.

Still TODO: rm the error return value from:

    net.service.handler.HandleMessage

This is inspired by delegation patterns in found in the wild.
2014-09-24 23:35:36 -04:00
Brian Tiger Chow
9d7ae40003 feat(bitswap) expose ability to toggle "niceness"
true -> always send to peer

false -> use ledger-based strategy described in IPFS paper draft 3
2014-09-22 04:06:19 -07:00
Brian Tiger Chow
767d6ca633 refac(bitswap, util) extract KeySet 2014-09-22 04:06:19 -07:00
Brian Tiger Chow
faee10effe test(bitswap) send entire wantlist to peers
fix(bitswap) pass go vet

fixes #97

https://github.com/jbenet/go-ipfs/issues/97
2014-09-22 04:06:19 -07:00
Brian Tiger Chow
39ad222da9 fix(bitswap) keep interface the same
changing the bitswap interace breaks tests and makes things a bit
difficult going forward. I think I have a temporary solution to replace
the async method.

this commit partially reverts changes from:

ec50703395098f75946f0bad01816cc54ab18a58

ec50703395
2014-09-22 04:06:18 -07:00
Brian Tiger Chow
b5ea124a76 style(bitswap) swap argument order 2014-09-22 04:06:18 -07:00
Brian Tiger Chow
60798b800a style(bitswap) make signature more readable 2014-09-22 04:06:18 -07:00
Juan Batiz-Benet
8112fae7b3 get bitswap working with dht
@perfmode using non-async version as apparently there's
a bug in async. will look into it.
2014-09-22 04:06:18 -07:00
Juan Batiz-Benet
52cefb16cd Routing uses context now
@perfmode boom
2014-09-22 04:06:18 -07:00
Brian Tiger Chow
d0a5339547 feat(bitswap) ACTIVATE FULL CONCURRENCY cap'n
fix(bitswap) Put synchronously. Then notify async
2014-09-22 04:06:16 -07:00
Brian Tiger Chow
5aa6ccbad5 refac(bitswap) nil slices are 'range'able 2014-09-22 04:06:16 -07:00
Brian Tiger Chow
331fcd1756 chore(bitswap) rm unused helper func 2014-09-22 04:06:16 -07:00
Brian Tiger Chow
ddf889d876 test(bitswap) send block from one instance to another 2014-09-22 04:06:15 -07:00
Brian Tiger Chow
a8a7caa088 refac(bitswap:testnet) give testnet its own package 2014-09-22 04:06:15 -07:00
Brian Tiger Chow
543dfeea35 refac(bitswap) less concurrency while testing and iterating 2014-09-22 04:06:15 -07:00
Brian Tiger Chow
6e1c3b36bb fix(bitswap) check for nil in public interface 2014-09-22 04:06:15 -07:00
Brian Tiger Chow
0c67019447 style(exch:bitswap) rename adapter, session, etc.
style(exch:bitswap) rename NetMessage adapter impl
2014-09-22 04:06:14 -07:00
Brian Tiger Chow
071a66495f style(exch:bitswap) rename variable 2014-09-22 04:06:14 -07:00
Brian Tiger Chow
71aed67413 feat(bitswap) broadcast block to routing, peers on receipt 2014-09-22 04:06:14 -07:00