Raúl Kripalani
19eea773fa
rename addrsRecord.Refresh() => addrsRecord.Clean().
2018-11-30 16:56:37 +00:00
Raúl Kripalani
943429ff4b
Revert "use a Pool for address record objects."
2018-11-30 16:19:57 +00:00
Raúl Kripalani
dd2a07ea4a
Revert "gx: update golang-lru dependency."
...
This reverts commit c7107ffb52
.
2018-11-30 16:19:57 +00:00
Raúl Kripalani
fd57c55d87
document custom gogo types; reorg code.
2018-11-30 16:19:57 +00:00
Raúl Kripalani
c3c24b227a
rename GCPruneInterval to GCPurgeInterval for consistency.
2018-11-28 01:29:09 +00:00
Raúl Kripalani
bbff6b7522
improve test coverage of new GC routine.
2018-11-28 01:08:25 +00:00
Raúl Kripalani
ffe9586203
codecov: ignore protobuf go sources.
2018-11-28 00:57:08 +00:00
Raúl Kripalani
03a40a855a
minor cleanup.
2018-11-28 00:56:51 +00:00
Raúl Kripalani
3a85498ae8
add tests for new GC routines.
2018-11-28 00:13:13 +00:00
Raúl Kripalani
35444fbc6a
implement two-tiered lookahead-based GC procedure.
...
The GC procedure consists of two tiers: lookahead and purge. The
lookahead tier runs less frequently (default 12 hours) than the purge
tier (default 5 minutes).
A lookahead round traverses the entire store and picks entries that
need to be visited in the current lookahead window, pinning those
entries in a separate region in the KV store, indexed by the next visit
timestamp.
A purge round iterates over the lookahead window only, and refreshes
the entries that require a visit. It removes them from the lookahead
region unless the entry requires another visit within the current
window.
2018-11-28 00:13:02 +00:00
Raúl Kripalani
c7107ffb52
gx: update golang-lru dependency.
2018-11-16 11:11:00 +00:00
Raúl Kripalani
ef8e8ff359
use a Pool for address record objects.
2018-11-15 18:48:40 +00:00
Raúl Kripalani
390e8c3f44
add Keys() function to private cache interface for completeness.
2018-11-15 18:39:38 +00:00
Raúl Kripalani
bd80609ef6
adjust GC interval in tests.
2018-11-15 13:55:53 +00:00
Raúl Kripalani
e57f21a66c
Merge branch 'master' into feat/pstore-ds-gc
2018-11-15 13:44:13 +00:00
Raúl Kripalani
22f8aa142c
fix makefile for protobuf.
2018-11-15 13:40:48 +00:00
Raúl Kripalani
4c43736fe9
pstoreds: tighten up gc-based peerstore.
...
Introduces custom types in protobuf to serde directly into multiaddrs
and peer IDs. Simplify purge by ordering addrs by expiry. In general,
getting this readier for merge.
2018-11-15 13:32:08 +00:00
Raúl Kripalani
0c6cf4a799
Merge pull request #43 from lanzafame/feat/more-benchs
...
Deterministic benchmark order; Keybook interface benchmarks
2018-11-14 19:09:15 +00:00
Raúl Kripalani
c423e9e997
pstoreds: migrate from strict TTL to GC-based expiry.
...
Each entry in the address book KV store now represents a full peer
with all its addresses. Expiries and TTLs are kept inline. Records are
serialised with Protobuf.
Housekeeping is performed on retrieve, and via a periodic GC routine.
The architecture mimics a write-through cache, although not strictly.
2018-11-13 16:57:51 +00:00
Hannah Howard
3a5fba8af2
Merge pull request #46 from libp2p/gx/update-kque0y
...
gx publish 2.0.11
2018-11-09 15:47:08 -08:00
hannahhoward
129aa29181
gx publish 2.0.11
2018-11-09 15:31:38 -08:00
Steven Allen
00679cccdb
Merge pull request #45 from zhizouxiao/fix/peerinfo-unmarshal
...
PeerInfo UnMarshal Error #393
2018-11-08 20:54:45 -08:00
wzp
de5683cb85
add marshal unittest #393
2018-11-09 11:13:06 +08:00
Eli Wang
ab8c6cbfd1
bug fix: UnmarshalJSON should take a pointer
2018-11-08 10:40:39 +08:00
wzp
e9ca112fea
PeerInfo UnMarshal Error #393
2018-11-08 10:12:34 +08:00
Adrian Lanzafame
c04ff2d27b
add keybook benchmarks
...
License: MIT
Signed-off-by: Adrian Lanzafame <adrianlanzafame92@gmail.com>
2018-11-07 15:48:31 +10:00
Adrian Lanzafame
308d998d76
sort suite so benchmarks always run in the same order
...
License: MIT
Signed-off-by: Adrian Lanzafame <adrianlanzafame92@gmail.com>
2018-11-07 15:48:31 +10:00
Adrian Lanzafame
ee43bc1951
prevent timeout by un-nesting tb.Runs
...
License: MIT
Signed-off-by: Adrian Lanzafame <adrianlanzafame92@gmail.com>
2018-11-07 15:48:31 +10:00
Steven Allen
545f62f160
gx publish 2.0.10
2018-11-02 21:10:55 -07:00
Steven Allen
d351b9ad3b
gx publish 2.0.9
2018-11-02 18:06:06 -07:00
Steven Allen
491863b2bf
gx publish 2.0.8
2018-11-02 16:33:25 -07:00
Steven Allen
9e5b5504df
Merge branch 'gx/update-fzw9j3'
2018-11-02 16:06:33 -07:00
Steven Allen
126e7c5eb4
gx publish 2.0.7
2018-11-02 15:55:27 -07:00
Steven Allen
d544f80a45
Merge pull request #44 from libp2p/fix/inline-test
...
fix the inline key test
2018-11-02 15:52:29 -07:00
Steven Allen
62b237fea1
ci: update go
2018-11-02 15:49:58 -07:00
Steven Allen
6c58e9f9fa
fix the inline key test
...
RandTestKeyPair uses RSA keys but we now forbid any RSA key under 512 bits.
2018-11-02 15:24:44 -07:00
Steven Allen
6295e61c9f
gx publish 2.0.6
2018-10-24 09:45:00 -07:00
Steven Allen
98ce9158bd
gx publish 2.0.5
2018-10-16 11:39:03 +01:00
Steven Allen
3585c4af62
Merge pull request #42 from libp2p/feat/fix-peer-inlining
...
update to match new ExtractPublicKey API
2018-10-16 11:38:02 +01:00
Steven Allen
588ab36ce8
update to match new ExtractPublicKey API
...
This is a "more correct" API and we might as well fix this before it becomes
used all over the place. The new API returns ErrNoPublicKey when there is no
inlined key.
This *also* fixes a bug where the datastore-backed keystore would panic if
`ExtractPublicKey` returned `nil, nil`.
2018-10-16 11:31:32 +01:00
Raúl Kripalani
4c151480e8
Merge pull request #41 from libp2p/fix/smaller-addr-book
...
store expiring addrs by pointer
2018-10-16 09:47:39 +01:00
Steven Allen
68a73712e1
store expiring addrs by pointer
...
Hopefully, this reduces the space wasted by using maps (see the comment in the
committed code).
2018-10-14 15:11:35 +01:00
Raúl Kripalani
b87bbd4e21
Merge pull request #40 from raulk/b32
...
Replace b58-encoded keys with b32 (no padding) + test against multiple ds. Resolves #38 .
2018-10-11 17:55:56 +01:00
Raúl Kripalani
1e98679c50
gx publish 2.0.4
2018-10-11 17:51:04 +01:00
Raúl Kripalani
43dbbcfb18
gx upgrade go-ds-leveldb.
2018-10-11 17:50:35 +01:00
Raúl Kripalani
ad3e48181c
Merge branch 'master' into b32
2018-10-11 15:53:56 +01:00
Steven Allen
a491d36013
gx publish 2.0.4
2018-10-10 11:29:57 +01:00
Steven Allen
3e0c5fae56
gx publish 2.0.3
2018-10-05 13:38:44 -07:00
Raúl Kripalani
e18b128538
add go-ds-leveldb gx dep for tests.
2018-10-04 22:11:51 +01:00
Raúl Kripalani
4e2e2de65f
ds key encoding: b58 => b32 (no padding).
2018-10-04 10:51:57 +01:00