Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
2244bb9
WIP
victorb May 17, 2018
463a3ac
Expire peers +_protect namespace if already exists when creating
victorb May 17, 2018
2a93a8b
Store to handle global namespace
victorb May 17, 2018
8573cff
WIP
victorb May 19, 2018
935f925
Make the store tests pass
victorb May 21, 2018
2556b06
feat: New state-based system
mkg20001 May 19, 2018
b5f2197
Fixes for state system
mkg20001 May 19, 2018
be3ab16
Fix a race cond in dial
mkg20001 May 19, 2018
56a6549
Add discover function
mkg20001 May 19, 2018
840a3a6
misc: lint
mkg20001 May 19, 2018
6fe96e1
test: Fix browser tests
mkg20001 May 19, 2018
6e4df35
chore: upgrade deps
mkg20001 Jun 8, 2018
050c78a
Add clearEmptyNamespaces function to store
mkg20001 Jun 8, 2018
8815ae0
Split utils in store
mkg20001 Jun 8, 2018
ddbe9aa
Begin rewriting server
mkg20001 Jun 8, 2018
8540852
Add missing handlers for discover/unregister
mkg20001 Jun 8, 2018
5325c92
Tweaks
mkg20001 Jun 8, 2018
55eae94
Finish register
mkg20001 Jun 8, 2018
dc5d317
Tweaks
mkg20001 Jun 8, 2018
baa64b2
Rm duplicate code
mkg20001 Jun 8, 2018
152d91a
Finish discover on server
mkg20001 Jun 9, 2018
f7ea0e0
WIP client rewrite
mkg20001 Jun 9, 2018
d97dca5
WIP
mkg20001 Jun 9, 2018
aa0ca21
fix
mkg20001 Jun 9, 2018
118c6cd
Client sync function
mkg20001 Jun 9, 2018
1d3f6d5
Clean
mkg20001 Jun 9, 2018
c3586f3
Work on tests
mkg20001 Jun 9, 2018
6c5b371
Clean
mkg20001 Jun 9, 2018
9c4a7f4
More work on tests
mkg20001 Jun 9, 2018
ca335b2
Rename files
mkg20001 Jun 9, 2018
8bf0ca8
Work on tests
mkg20001 Jun 9, 2018
0c3b76b
More work on tests
mkg20001 Jun 9, 2018
e14743a
fix
mkg20001 Jun 9, 2018
b754102
WIP
mkg20001 Jun 10, 2018
91e2e9a
WIP tests
mkg20001 Jun 11, 2018
d05c234
More fix
mkg20001 Jun 11, 2018
056db10
Fix tests
mkg20001 Jun 11, 2018
4981c54
Cleanup
mkg20001 Jun 11, 2018
ed735ed
Rm yarn.lock
mkg20001 Jun 11, 2018
f78da18
More cleanup
mkg20001 Jun 11, 2018
9482c06
Cleanup
mkg20001 Jun 11, 2018
0c23e11
More fixes - Libp2p discover interface
mkg20001 Jun 11, 2018
055b0f0
Better cookie
mkg20001 Jun 11, 2018
bd70e66
Sync on disconnect
mkg20001 Jun 11, 2018
5590e63
Tiny fix
mkg20001 Jun 11, 2018
9985dbb
Enable circuit - Dial test
mkg20001 Jun 12, 2018
10f6880
Merge branch 'master' into feat/improve-and-cleanup
jacobheun Feb 1, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Expire peers +_protect namespace if already exists when creating
License: MIT
Signed-off-by: Victor Bjelkholm <[email protected]>
  • Loading branch information
victorb committed May 17, 2018
commit 463a3acfd2e30a4cc5ab456687a06d31a93ba622
10 changes: 8 additions & 2 deletions src/server/store/immutable/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,13 @@ const setNamespaces = (store, value) => {

// Creates a peer table within a store
const createPeerTable = (store, name) => {
return setNamespaces(store, getNamespaces(store).set(name, Map({})))
// Check if namespace already exists
if (getNamespaces(store).get(name)) {
return store
} else {
// Didn't exists, let's create it with a empty Map
return setNamespaces(store, getNamespaces(store).set(name, Map({})))
}
}

// Adds a peer to a peer table within a namespace
Expand Down Expand Up @@ -82,7 +88,7 @@ const clearExpired = (store, peerTableName, currentTime) => {
expiresAt.setSeconds(expiresAt.getSeconds() + v.get('ttl'))

// Get amount of seconds diff with current time
const diffInSeconds = (receivedAt - expiresAt) / 1000
const diffInSeconds = (expiresAt - currentTime) / 1000

// If it's less than zero, peer has expired and we should remove it
if (diffInSeconds < 0) {
Expand Down
15 changes: 12 additions & 3 deletions test/store.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,16 @@ describe('immutable store', () => {
assertNumberOfNamespaces(store, 1)
assertNumberOfPeers(store, 'my-app', 0)
})
xit('add duplicate namespace wont clear existing peers')
it('add duplicate namespace wont clear existing peers', () => {
const peer = createPeer()
let store = createNamespace(createStore(), 'my-app')
store = addPeer(store, 'my-app', peer)
store = createNamespace(store, 'my-app')

assertRevisionNumber(store, 1)
assertNumberOfNamespaces(store, 1)
assertNumberOfPeers(store, 'my-app', 1)
})
it('can add peer', () => {
const peer = createPeer()
let store = createNamespace(createStore(), 'my-app')
Expand Down Expand Up @@ -106,8 +115,8 @@ describe('immutable store', () => {
const peer = createPeer()
let store = createNamespace(createStore(), 'my-app')
store = addPeer(store, 'my-app', peer)
const dateAfterExpired = new Date('2018-05-17T13:00:15.000Z')
store = clearExpired(store, 'my-app', dateAfterExpired)
const dateBeforeExpired = new Date('2018-05-17T13:00:00.000Z')
store = clearExpired(store, 'my-app', dateBeforeExpired)

assertRevisionNumber(store, 1)
assertNumberOfNamespaces(store, 1)
Expand Down