Commit Graph

62 Commits

Author SHA1 Message Date
Brian Tiger Chow
27dc9594ba refactor(bitswap) bitswap.Network now abstracts ipfs.Network + ipfs.Routing
@jbenet @whyrusleeping

the next commit will change bitswap.Network.FindProviders to only deal
with IDs
2014-12-23 09:19:21 -08:00
Brian Tiger Chow
e3f8f8cca1 rm low SnR debug statement
"Get" is still fairly useful. Leaving it there.

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-23 08:57:25 -08:00
Jeromy
50aa37fec4 blockstore.ErrNotFound, and proper wantlist sorting 2014-12-17 23:44:40 -08:00
Brian Tiger Chow
3ecdec985f refactor(mockrouting) misc
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-13 05:30:33 -08:00
Brian Tiger Chow
3c44ad1fd1 feat(bs/testnet) use delay in virtual network
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-13 05:17:16 -08:00
Brian Tiger Chow
8e0c8a7a7e refactor(mdag, bserv, bs) mocks, etc.
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-13 05:17:16 -08:00
Brian Tiger Chow
ee961edef5 rm redundant Has
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-06 16:24:39 -08:00
Brian Tiger Chow
670d0244b4 feat(bitswap) make offline exchange query datastore
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 23:31:01 -08:00
Brian Tiger Chow
43ff3c5040 style(blockservice) s/Remote/Exchange
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 23:31:01 -08:00
Brian Tiger Chow
7a3819a528 refactor(util) move block generator
@whyrusleeping @jbenet

Putting the block generator in a util dir until blocks.

Can't put it in util/testutil because the util/testutil/dag-generator
imports blockservice and blockservice uses the generator.

Tough problem. This'll do for now.

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:31 +00:00
Brian Tiger Chow
d721c448af reset test to the way it ways before
@whyrusleeping

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:31 +00:00
Brian Tiger Chow
e27de2bfa2 fix(blockservice) respect context in GetBlocks
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:30 +00:00
Brian Tiger Chow
aac3c6abbd fix(blockservice) test
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:30 +00:00
Jeromy
07bb901ed5 add a test to blockservice to demonstate GetBlocks failure. 2014-12-05 20:53:29 +00:00
Jeromy
6d217b5311 ensure sending of wantlist to friendly peers 2014-12-05 20:53:29 +00:00
Jeromy
50b00eb90f use @maybebtc's ForwardBlocks function 2014-12-05 20:53:27 +00:00
Jeromy
9120d107c3 a little more correctness on the new bitswap impl 2014-12-05 20:53:27 +00:00
Jeromy
ed4509923c tracking down a bug dhthell found, added asserts and better logging. 2014-12-05 20:53:26 +00:00
Jeromy
15d4f82945 some cleanup, and fix minor bug in dagreader from previous commit 2014-12-05 20:53:26 +00:00
Jeromy
d53deebada wire GetBlocks into blockservice 2014-12-05 20:53:26 +00:00
Brian Tiger Chow
d0304def6b refactor(blockstore, blockservice) use Blockstore and offline.Exchange
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:24 +00:00
Jeromy
99ae432021 start working getBlocks up the call chain 2014-12-05 20:53:23 +00:00
Jeromy
0abc72c062 move some variables into strategy 2014-12-05 20:53:21 +00:00
Jeromy
5be35a83f1 beginnings of a bitswap refactor 2014-12-05 20:53:18 +00:00
Jeromy
4f083d54d6 write a few package doc strings to improve look of godoc 2014-11-08 21:42:36 -08:00
Jeromy
88bf39118c comment comment comment comment 2014-11-03 03:02:56 +00:00
Jeromy
317ca2f865 benchmark secure channel 2014-11-01 16:07:56 -07:00
Juan Batiz-Benet
70e1f9b6bc make vendor
cc @whyrusleeping
2014-10-30 05:43:14 -07:00
Juan Batiz-Benet
13f00abc27 blockservice: signal add optimization 2014-10-30 02:01:27 -07:00
Juan Batiz-Benet
04eba28a16 blockservice: dont write blocks twice
If the datastore has a value for the key, we already have
the block. We should not write it again. This will make redundant
writes much faster.

At the moment, a datastore.Has on leveldb is a GetBackedHas.
Track https://github.com/jbenet/go-datastore/issues/6
2014-10-30 01:54:53 -07:00
Brian Tiger Chow
1f9541d29b refactor(blockservice) export blockservice.ErrNotFound 2014-10-28 15:27:00 -07:00
Jeromy
d92db12460 lots of logging 2014-10-26 00:45:40 +00:00
Jeromy
e1f2fe75f8 add in dag removal 2014-10-25 12:39:36 -07:00
Jeromy
87407a99b9 add context to blockservice Get 2014-10-25 12:38:32 -07:00
Juan Batiz-Benet
f7c1ed39e0 renamed datastore.go -> go-datastore 2014-10-21 15:10:58 -07:00
Jeromy
5ba2efc2b8 make tests pass 2014-10-08 04:25:51 +00:00
Jeromy
bdaee9bcb2 some performance tweaks for the dagwriter write path 2014-10-08 03:42:29 +00:00
Jeromy
3591e10b2e implement dagmodifier and tests. 2014-10-06 23:49:45 +00:00
Juan Batiz-Benet
77fccaa2f3 Obviated need for .ID.Pretty() all over the place. 2014-10-06 04:23:55 -07:00
Juan Batiz-Benet
f3ae0e8e1b u.Hash - error
the u.Hash error can be safely ignored (panic) because multihash
only fails from the selection of hash function. If the fn + length
are valid, it won't error.

cc @whyrusleeping
2014-10-06 02:26:52 -07:00
Juan Batiz-Benet
0c8ae7674e loggers: set level 2014-10-04 03:53:21 -07:00
Juan Batiz-Benet
7e1cd59259 initialize loggers at ERROR 2014-10-04 03:36:30 -07:00
Juan Batiz-Benet
612be59643 use string datastore keys. 2014-10-03 15:39:22 -07:00
Juan Batiz-Benet
f085d594aa vendoring ipns things 2014-10-01 00:44:22 -07:00
Jeromy
54142b2173 update logging in multiple packages 2014-10-01 00:41:30 -07:00
Juan Batiz-Benet
370d2593dc this warning should only print out on debug
(perhaps should be logged instead)
2014-09-22 04:06:17 -07:00
Brian Tiger Chow
e907b2e03c feat(exchange) pass ctx to exchange.HasBlock(...) 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
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