Commit Graph

346 Commits

Author SHA1 Message Date
Brian Tiger Chow
2179b5d77b fix(bitswap:testnet) Provide takes ctx 2014-09-22 04:06:18 -07:00
Brian Tiger Chow
b806270e5d test(bitswap) test sending wantlist to peers 2014-09-22 04:06:18 -07:00
Brian Tiger Chow
b4ef99bc81 fix(exch) name the error 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
7d62be76ad chore(bitswap) cleanup 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
315e121ef9 feat(bitswap:message) implement FromNet 2014-09-22 04:06:16 -07:00
Brian Tiger Chow
b7b046582b test(bitswap) test with swarm of ~500 instances
test(bitswap) run synchronously to aid the scheduler
2014-09-22 04:06:16 -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
88f5be3f0d test(bitswap:testnet) shuffle the providers
to avoid letting client rely on order for correctness
2014-09-22 04:06:16 -07:00
Brian Tiger Chow
8213cfbaa4 docs(bitswap:strat) interface comments 2014-09-22 04:06:16 -07:00
Brian Tiger Chow
251f1d7f00 test(bitswap) add SessionGenerator 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
a5fb64071a test(bitswap) enable get block test 2014-09-22 04:06:16 -07:00
Brian Tiger Chow
6e7a12dc11 refac(exch:offline) move offline exchange to its own package 2014-09-22 04:06:15 -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
800af9ca3a fix(bitswap:message) don't use proto internally 2014-09-22 04:06:15 -07:00
Brian Tiger Chow
57e088bbff fix(bitswap:testnet) use peer.Map 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
9f685af14f test(bitswap) 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
c80c8aa977 test(bitswap:testnet)
misc:
* test network client getting more than max
* test for find providers
* rename factory method
* local network
* misc test improvements
* test bitswap get block timeout
* test provider exists but cannot connect to peer
* test sending a message async over local network
2014-09-22 04:06:15 -07:00
Brian Tiger Chow
7975ffe721 fix(exchange) package name 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
Brian Tiger Chow
98a6e9fac2 feat(exch:bitswap) simply get method 2014-09-22 04:06:14 -07:00
Brian Tiger Chow
74e81e06fa refac(bitswap) extract const 2014-09-22 04:06:14 -07:00
Brian Tiger Chow
9a18fd6354 chore(exch, bitswap) misc trivial cleanup 2014-09-22 04:06:14 -07:00
Brian Tiger Chow
e907b2e03c feat(exchange) pass ctx to exchange.HasBlock(...) 2014-09-22 04:06:14 -07:00
Brian Tiger Chow
1054b8d8ad fix(bitswap) use passed ctx 2014-09-22 04:06:14 -07:00
Brian Tiger Chow
42770cc39a refac(exchange) replace timeout -> context in API 2014-09-22 04:06:14 -07:00
Brian Tiger Chow
252be07ec5 refac(bitswap) let adapter be created with nil delegate
yay deleting code.
2014-09-22 04:06:14 -07:00
Brian Tiger Chow
0bd8f2092b refac(routing) replace timeout -> ctx
@jbenet oh hai there!
2014-09-22 04:06:14 -07:00
Brian Tiger Chow
81da645ed6 chore(bitswap) remove unused const 2014-09-22 04:06:14 -07:00
Brian Tiger Chow
85f84fe446 refac(ex:bs) remove local peer ref until shown to be necessary 2014-09-22 04:06:13 -07:00
Brian Tiger Chow
d82a2517d1 refac(exch:bitswap) always notify strategy when message sent 2014-09-22 04:06:13 -07:00
Brian Tiger Chow
335b50f4c6 style(ex:bitswap) put public methods at top 2014-09-22 04:06:13 -07:00
Brian Tiger Chow
5cec6197ae test(exch:bs:strategy) test accounting consistency
> Why expose num bytes sent and received?

    Makes it easy to test consistency of the ledgers

> Got a better reason?

    Makes it possible to expose metrics to the people-facing API
2014-09-22 04:06:13 -07:00
Brian Tiger Chow
ded1f8f5a8 fix(bitswap) compiler errors
didn't run tests after the refactor. apologies.
2014-09-22 04:06:13 -07:00
Brian Tiger Chow
e1fe4f6d60 refac(exchange) rename exchange.Interface to match golang conventions
examples:

    http://golang.org/pkg/container/heap/#Interface

    http://golang.org/pkg/net/#Interface

    http://golang.org/pkg/sort/#Interface
2014-09-22 04:06:13 -07:00
Brian Tiger Chow
fd086b9c48 refac(exchange) bitswap -> exchange/bitswap
Move go-ipfs/bitswap package to go-ipfs/exchange/bitswap

* Delineates the difference between the generic exchange interface and
  implementations (eg. BitSwap protocol)

  Thus, the bitswap protocol can be refined without having to overthink
  how future exchanges will work. Aspects common to BitSwap and other
  exchanges can be extracted out to the exchange package in piecemeal.

  Future exchange implementations can be placed in sibling packages next
  to exchange/bitswap. (eg. exchange/multilateral)
2014-09-22 04:06:13 -07:00