Juan Batiz-Benet
ba323c3e48
make vendor
2014-12-17 23:25:38 -08:00
Juan Batiz-Benet
bc2d35fd4d
Lots of fixes. DHT tests pass
2014-12-17 23:25:38 -08:00
Juan Batiz-Benet
41751b4938
Integrated new network into ipfs
2014-12-16 14:47:29 -08:00
Jeromy
8cdf566865
remove multilayered routing table from the DHT (for now)
2014-12-11 06:08:53 +00:00
Jeromy
9e14bcfe2d
changes from PR
2014-12-11 05:42:05 +00:00
Jeromy
2d94b78480
rewrite FindProvidersAsync
2014-12-11 05:09:03 +00:00
Juan Batiz-Benet
26a44fcc06
dht: comment for asyncQueryBuffer
2014-12-08 21:55:51 -08:00
Juan Batiz-Benet
e0f11dff24
dht: FindPeersConnectedToPeer
2014-12-08 20:52:46 -08:00
Juan Batiz-Benet
d06bb6d826
dht: update to use net.LocalPeer
2014-12-08 20:52:45 -08:00
Juan Batiz-Benet
ff1e672d5a
dht/pb: changed PeersToPBPeers to set ConnectionType
...
Uses an inet.Dialer
2014-12-08 20:52:45 -08:00
Juan Batiz-Benet
94f04c7fcc
net: add Connectedness var.
2014-12-08 20:52:45 -08:00
Juan Batiz-Benet
26e7656164
dht tests: dont introduce nil multiaddr
...
this is the type of assumption we shouldn't violate.
2014-12-08 20:52:45 -08:00
Juan Batiz-Benet
c5c0e7e8f3
dht: changed msgs, include multiple addrs + conn type
...
See https://github.com/jbenet/go-ipfs/issues/153#issuecomment-63350535
2014-12-08 20:52:34 -08:00
Juan Batiz-Benet
a1237733c2
dht: linting
2014-12-08 19:28:05 -08:00
Brian Tiger Chow
b799ddef58
refactor(dht) remove extraneous return value
...
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 16:28:22 -08:00
Brian Tiger Chow
c67286774c
silence verbose output
...
for higher SnR at IPFS_LOGGING=info
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 15:07:33 -08:00
Brian Tiger Chow
74eb03231d
fix(core, peer) helpers to testutil, err handling
...
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 14:32:52 -08:00
Brian Tiger Chow
d77c4bb5e0
refactor(peer): create peer through peerstore
...
for safety!
use mockpeer.WithID methods to create peers in tests
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 02:10:42 -08:00
Brian Tiger Chow
73a89e161d
refactor(peerstore) s/Get/FindOrCreate
...
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 02:10:42 -08:00
Brian Tiger Chow
f7cb6b9963
fix: respect ctx on receive
...
@jbenet
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 22:54:16 -08:00
Brian Tiger Chow
251b916ce9
style: readability
...
@jbenet
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:28 -08:00
Brian Tiger Chow
0f6b1bc73e
fix(dht/routing) buffer promise response to prevent resource leak
...
When performing this "promise" pattern, it is important to
provide a
channel with space for one value. Otherwise the sender may
block forever
in the case of a receiver that decides to abandon the
request. A subtle
detail, but one that is important for avoiding
leaked goroutines.
cc @whyrusleeping @jbenet
License: MIT
Signed-off-by: Brian Tiger Chow
<brian@perfmode.com>
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:27 -08:00
Brian Tiger Chow
de374226be
fix(dht/routing) make GetProviders respect context
...
This commit makes GetProviders (sync) respect the request context. It
also amends all of GetProviders' callsites to pass a context in. This
meant changing the signature of the dht's handlerfunc.
I think I'll start referring to the request context as Vito Corleone.
cc @whyrusleeping @jbenet
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:27 -08:00
Brian Tiger Chow
f756088d26
fix(routing/dht) _always_ close chan on exit of FindProvidersAsync
...
the important change here is that within FindProvidersAsync, the channel
is closed using a `defer`. This ensures the channel is always closed,
regardless of the path taken to exit.
+ misc cleanup
cc @whyrusleeping @jbenet
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:27 -08:00
Jeromy
260ace7f81
util keys need to be pointers for loggable
2014-12-05 20:53:33 +00:00
Jeromy
6552163740
add readme for bitswap
2014-12-05 20:53:33 +00:00
Jeromy
e8536db351
make bitswap sub-RPC's timeout (slowly for now)
2014-12-05 20:53:33 +00:00
Jeromy
c2b497e315
switch over to using sendMessage vs sendRequest
2014-12-05 20:53:32 +00:00
Brian Tiger Chow
3ed9b0c4e1
log(dht) Event: connect
...
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-25 06:16:40 -08:00
Brian Tiger Chow
b8c96b2505
log(dht) add eventlog.Update event
...
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-25 06:16:39 -08:00
Brian Tiger Chow
1c4c7412b4
fix(misc) address PR comments
...
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-16 07:40:05 -08:00
Brian Tiger Chow
6fec76d93e
fix(imports) misc
...
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-16 07:01:00 -08:00
Brian Tiger Chow
25c98e8e61
refactor(eventlog) elog -> eventlog
...
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
# TYPES
# feat
# fix
# docs
# style (formatting, missing semi colons, etc; no code change):
# refactor
# test (adding missing tests, refactoring tests; no production code change)
# chore (updating grunt tasks etc; no production code change)
Signed-off-by: Brian Tiger Chow <brian.holderchow@gmail.com>
2014-11-16 07:01:00 -08:00
Brian Tiger Chow
4b1607819f
log(dht) log a couple events to demonstrate API
...
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-16 07:00:58 -08:00
Jeromy
f45d575a96
address comments from PR
2014-11-16 02:45:20 -08:00
Jeromy
cd4e23bc2e
some comments
2014-11-16 02:45:20 -08:00
Jeromy
f21ec1923a
verify ipns records
2014-11-16 02:45:19 -08:00
Jeromy
0982597e35
make vendor
2014-11-16 02:45:19 -08:00
Jeromy
01451c214e
fix routing resolver
2014-11-16 02:45:19 -08:00
Jeromy
1cf7a1824a
validator functions and ipns completion
2014-11-16 02:45:19 -08:00
Jeromy
cb23d5b2ae
fix validators and key prefix
2014-11-16 02:45:19 -08:00
Jeromy
33985c530e
switch DHT entries over to be records, test currently fail
2014-11-16 02:45:19 -08:00
Brian Tiger Chow
ed4a8eb782
chore(tests) add Short() -> SkipNow() to slowest tests
...
vanilla:
21.57 real 45.14 user 8.51 sys
short:
14.40 real 31.13 user 5.56 sys
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-15 02:10:53 -08:00
Jeromy
d4c819e97d
log -> logf
2014-11-12 10:39:11 -08:00
Jeromy
be5d01b6a6
more doc comments
2014-11-08 22:44:37 -08:00
Jeromy
d98808fad9
comments on vars in dht
2014-11-08 21:57:11 -08:00
Jeromy
4f083d54d6
write a few package doc strings to improve look of godoc
2014-11-08 21:42:36 -08:00
Brian Tiger Chow
23096de3c4
fix(net) pass contexts to dial peer
2014-11-05 10:04:20 -08:00
Juan Batiz-Benet
70f796afd6
fixed dht race #270
2014-11-05 09:26:17 -08:00
Juan Batiz-Benet
0135e3ebbe
swarm + net: add explicit listen addresses
2014-11-05 04:00:49 -08:00
Jeromy
88bf39118c
comment comment comment comment
2014-11-03 03:02:56 +00:00
Jeromy
ae339a0320
remove dagwriter in favor of new importer function
2014-10-31 05:03:42 +00:00
Juan Batiz-Benet
01a583ea7f
Merge pull request #241 from jbenet/fix/log-debugf
...
fix(everything) log.Debug -> log.Debugf
2014-10-30 17:09:26 -07:00
Jeromy
3270ab0efb
fix bug where terminal would randomly become garbled binary crap
2014-10-30 16:34:52 +00:00
Brian Tiger Chow
cea398b8a7
fix(all) log.Debug -> log.Debugf
2014-10-30 06:35:29 -07:00
Brian Tiger Chow
321eb421e7
refactor(routing) use routing.ErrNotFound
2014-10-28 02:17:46 -07:00
Juan Batiz-Benet
d79ebe68d2
dht ctxcloserify
2014-10-25 21:33:59 -07:00
Juan Batiz-Benet
f2b8803a57
net/service now uses ctxcloser
2014-10-25 21:33:10 -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
Brian Tiger Chow
29457214cb
refactor(dht/pb) move proto to pb package
2014-10-25 04:13:28 -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
Jeromy
762faa7421
rewrite findpeer and other dht tweaks
2014-10-24 18:53:36 -07:00
Juan Batiz-Benet
a8adf2ff2c
dht test fix (net)
2014-10-22 05:31:49 -07:00
Juan Batiz-Benet
cc5c181ae0
Dialer for dht
...
dht doesn't need the whole network interface, only needs a Dialer.
(much reduced surface of possible errors)
2014-10-22 03:24:05 -07:00
Juan Batiz-Benet
cc9f276f0f
notes
2014-10-22 03:24:05 -07:00
Juan Batiz-Benet
c3df3973e1
query wasnt ensuring conn
...
The query-- once it's actually attempting to connect to a peer--
should be the one connecting.
2014-10-22 03:24:05 -07:00
Juan Batiz-Benet
6f8d23cbc1
this shouldn't connect quite yet.
2014-10-22 03:24:05 -07:00
Jeromy
c070c2f0de
working on debugging dht issues
2014-10-22 03:24:05 -07:00
Juan Batiz-Benet
f7c1ed39e0
renamed datastore.go -> go-datastore
2014-10-21 15:10:58 -07:00
Juan Batiz-Benet
ac62d13e42
peerstore Put -> Add
...
Changed lots of peer use, and changed the peerstore to ensure
there is only ever one peer in use.
Fixed #174
2014-10-20 06:37:12 -07:00
Juan Batiz-Benet
9ca87fbb93
peer.Peer is now an interface
...

2014-10-20 03:26:46 -07:00
Juan Batiz-Benet
b1d11ccfcb
peerstore constructs peers
...
Now, all peers should be retrieved from the Peerstore, which will
construct the peers accordingly. This ensures there's only one peer
object per peer (opposite would be bad: things get out sync)
cc @whyrusleeping
2014-10-20 00:44:44 -07:00
Juan Batiz-Benet
d17292a4c2
differentiate ports cause timing.
2014-10-19 06:29:18 -07:00
Juan Batiz-Benet
4783332b11
fixed tests
2014-10-19 02:05:29 -07:00
Juan Batiz-Benet
c2e649b17c
make vendor
...
@whyrusleeping pre-commit hook?
2014-10-18 20:04:07 -07:00
Juan Batiz-Benet
e989d6febe
move IDFromPubKey to peer pkg
2014-10-18 04:28:26 -07:00
Juan Batiz-Benet
18cfe02d38
dht tests with context
2014-10-18 04:28:26 -07:00
Jeromy
0b97d29c47
small changes to auxiliary dht functions
2014-10-18 04:28:26 -07:00
Jeromy
60cd0f1cf0
some dht cleanup, and make DHTs take a master context
2014-10-18 04:28:26 -07:00
Jeromy
1a7fac4551
make test fail instead of hang
2014-10-18 04:28:25 -07:00
Jeromy
00516299dd
Add test to test conncurrent connects between two peers
2014-10-18 04:28:25 -07:00
Jeromy
4189d50d77
fix bug in diagnostics, and add more peers to closer peer responses
2014-10-18 04:28:25 -07:00
Jeromy
c77ed6d2aa
fix up FindProvidersAsync
2014-10-18 04:28:25 -07:00
Juan Batiz-Benet
4b5906e466
logging + tweaks
2014-10-18 04:28:24 -07:00
Juan Batiz-Benet
0117fb118d
dht handleAddProviders adds addr in msg
...
Otherwise don't have the peer's target address.
2014-10-18 04:28:24 -07:00
Juan Batiz-Benet
26c4e5004c
handler fixes for tests
2014-10-10 20:48:20 -07:00
Jeromy
da95db3b0c
update dht tests to new network interface
2014-10-10 14:52:59 -07:00
Juan Batiz-Benet
555bc871fc
bugfixes to prev commit
2014-10-09 04:53:02 -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
Jeromy
1aafd285b5
add in some extra debug logging, and increase routing table latencies
2014-10-08 21:55:50 +00:00
Juan Batiz-Benet
66839fa1de
changed logging, in dht and elsewhere
...
- use log.* instead of u.*
- use automatic type conversions to .String()
(Peer.String() prints nicely, and avoids calling b58 encoding
until needed)
2014-10-07 21:33:59 -07: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
910a76e220
updated multiaddr use across codebase
2014-10-06 04:13:43 -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
9652ada0d2
implement publisher for ipns to wait until moments of rapid churn die down
2014-10-01 00:42:17 -07:00
Jeromy
54142b2173
update logging in multiple packages
2014-10-01 00:41:30 -07:00
Jeromy
6080944af9
writing files inside ipns works now! also implemented resolve cli command
2014-10-01 00:41:29 -07:00
Jeromy
006b68b558
WIP: getting closer to being able to write in ipns dirs
2014-10-01 00:41:29 -07:00
Jeromy
7f5e13716d
writes to ipns work if the top object is the written file (no directories yet!)
2014-10-01 00:39:57 -07:00
Jeromy
e61c59758b
implement initial ipns filesystem interface as well as plumbing command for publishing
2014-10-01 00:39:57 -07:00
Jeromy
375a38c5f7
add basic publish command, needs polish
2014-10-01 00:39:57 -07:00
Jeromy
a65e8600a3
catch ipns branch up to master and make all things compile
2014-10-01 00:37:53 -07:00
Jeromy
2aa2b8c6c7
add routing resolver test
2014-10-01 00:26:59 -07:00
Jeromy
8ddfb57c59
some bugfixes and added logging
2014-10-01 00:26:59 -07:00
Jeromy
b5fd9492d7
fixes to make interface more usable
2014-10-01 00:25:52 -07:00
Jeromy
727b6bf9a3
udpated commands and RPC dialing to work with new configuration changes
2014-09-27 16:02:50 -07:00
Juan Batiz-Benet
53f0b117f5
update net with peerstore
2014-09-26 02:41:46 -07:00
Brian Tiger Chow
e2a9c5de00
feat(net:service, routing) remove error return value
2014-09-24 23:35:36 -04:00
Juan Batiz-Benet
10a1a01cf7
ping: return sme msg
...
This fixes the broken pinging. (the issue was the cluster
level, it's bein set incorrectly (off by one))
Anyway, this works now:
[peer: QmfQTbC3LxfpK5WoyHW2WgnAzo6d6GePuq2wHTsJNXM5PS] Sent message type: 'PING' [to = QmNXUeFrV9gxR4aqJddEsfhWZLSJrUsfpUSeRb3R7xvSp9]
[QmfQTbC3LxfpK5WoyHW2WgnAzo6d6GePuq2wHTsJNXM5PS] ping QmNXUeFrV9gxR4aqJddEsfhWZLSJrUsfpUSeRb3R7xvSp9 end (err = %!s(<nil>))
cc @whyrusleeping
2014-09-23 05:23:54 -07:00
Jeromy
7228786981
make a few tests perform operations in two directions instead of one
2014-09-22 22:34:30 -07:00
Jeromy
7bc4fbfa5d
turn logging on by default, also make Provide not fail when no peers connected
2014-09-22 19:22:04 -07:00
Juan Batiz-Benet
adcf0bfe70
better logging for ping
2014-09-22 15:53:37 -07:00
Brian Tiger Chow
197046c9d2
fix(routing:dht) add ctx args
2014-09-22 04:06:19 -07:00
Brian Tiger Chow
d514b91ff3
fix(routing:dht) implement FindProvidersAsync in terms of FindProviders
...
until construction is complete on the actual async method
reverts changes from ec50703395098f75946f0bad01816cc54ab18a58
ec50703395
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
Juan Batiz-Benet
aa29603923
dht tests pass again
2014-09-22 04:06:16 -07:00
Juan Batiz-Benet
afb1d01048
provider testing
2014-09-22 04:06:15 -07:00
Brian Tiger Chow
0bd8f2092b
refac(routing) replace timeout -> ctx
...
@jbenet oh hai there!
2014-09-22 04:06:14 -07:00
Juan Batiz-Benet
043c09e14b
fixed get/put
2014-09-22 04:06:12 -07:00
Juan Batiz-Benet
9dd39de491
Fixed connections all over.
2014-09-22 04:06:12 -07:00
Juan Batiz-Benet
f41817c8d3
use Alpha as the concurrency.
...
cc @whyrusleeping
2014-09-22 04:06:12 -07:00
Juan Batiz-Benet
de7af506b1
dht.Connect(Peer)
2014-09-22 04:06:12 -07:00
Juan Batiz-Benet
9ea715cb10
comment out dht_test for now.
2014-09-22 04:06:10 -07:00
Juan Batiz-Benet
700b6ab99f
remove start
2014-09-22 04:05:23 -07:00
Juan Batiz-Benet
dc0fbfd3d3
added some logging
2014-09-22 04:05:23 -07:00
Juan Batiz-Benet
a114e9cd12
better query processing (runner)
2014-09-22 04:05:22 -07:00
Brian Tiger Chow
56e6c453a2
fix(routing/dht) match the routing interface
...
the channel's "spin" is specified in the interface now =)
2014-09-22 04:05:21 -07:00
Juan Batiz-Benet
29322a24da
tests compile
2014-09-22 04:05:21 -07:00
Juan Batiz-Benet
67bd041b9c
got everything to build
2014-09-22 04:05:21 -07:00
Juan Batiz-Benet
ac9745bc4c
moved keyspace
2014-09-22 04:05:20 -07:00
Juan Batiz-Benet
ab04137853
SortByDistance copy fix
2014-09-22 04:05:20 -07:00
Juan Batiz-Benet
b838cc0619
cleaner KeySpace abstraction.
2014-09-22 04:05:20 -07:00
Juan Batiz-Benet
15a823d058
newMessage and more impl.
2014-09-22 04:05:19 -07:00
Juan Batiz-Benet
0773e584fd
updated Update function
2014-09-22 04:05:19 -07:00
Juan Batiz-Benet
3ae7021700
getFromPeerList and peerFromInfo
2014-09-22 04:05:19 -07:00
Juan Batiz-Benet
e4e021085b
add Peerstore to dht
2014-09-22 04:05:19 -07:00
Juan Batiz-Benet
34a0580ea6
godep multiaddr update
2014-09-22 04:05:19 -07:00
Juan Batiz-Benet
4cc1f60d91
Peerstore -- threadsafe collection
...
this will later have persistent storage, but no need yet
2014-09-22 04:05:19 -07:00
Juan Batiz-Benet
3711d54098
getValueSingle using SendRequest
2014-09-22 04:05:18 -07:00
Juan Batiz-Benet
520640840f
check type assertion
...
`v.([]byte)` coming from a datastore can panic.
`byt, ok := v.([]byte)` to be safe.
@whyrusleeping
2014-09-22 04:05:18 -07:00
Juan Batiz-Benet
0fca9868ae
uncomment all handlers
2014-09-22 04:05:18 -07:00
Juan Batiz-Benet
d91955b412
moved handlers to own file
2014-09-22 04:05:17 -07:00
Juan Batiz-Benet
c4536d127d
comment out diagnostic
...
it'll have to change lots since the listener is gone
2014-09-22 04:05:17 -07:00
Juan Batiz-Benet
69ed45c555
refactor peer distance search + handleGetProviders
2014-09-22 04:05:17 -07:00
Juan Batiz-Benet
9eb41e7237
ping + find peer
2014-09-22 04:05:17 -07:00