Skip to content
Snippets Groups Projects
  1. Jan 23, 2020
  2. Jan 21, 2020
  3. Jan 20, 2020
  4. Jan 16, 2020
    • Wolfgang Welz's avatar
      Feat: Improve peer selection logic to avoid parallel connections (#101) · 002ee26f
      Wolfgang Welz authored
      
      * Log failed connection attempts
      
      * Only trigger drop event, when a neighbor was removed
      
      * Remove unused dropNeighbors
      
      * Use only one loop to process channels in selection
      
      * Update out neighbors less often
      
      * feat: introduce SaltUpdated event
      
      * fix: use global parameters
      
      * Update salt log messages
      
      * fix: do not close public channels to prevent panics during shutdown
      
      * fix: assure correct order of events
      
      * feat: add selection event tests
      
      * Set update interval to 1s and full updat interval to 1m
      
      * Use subtests for the protocol tests
      
      * fix: send peering drop message only when event is triggered
      
      * Update packages/autopeering/selection/manager.go
      
      Co-Authored-By: default avatarjkrvivian <jkrvivian@gmail.com>
      
      Co-authored-by: default avatarjkrvivian <jkrvivian@gmail.com>
      002ee26f
  5. Jan 10, 2020
  6. Jan 04, 2020
    • Wolfgang Welz's avatar
      Move autopeering code from iotaledger/autopeering-sim to goshimmer (#91) · 8fde09bf
      Wolfgang Welz authored
      *  GetNextCandidate selection added
      
      * 🐛 Recompile salt.proto
      
      * ♻️ Refactor peer IDs completely
      
      * 🐛 Recompile proto sources
      
      * 🚧 WIP
      
      * 👌 renamed to sort
      
      * 🚧 Return requested peers on request
      
      *  Kepp track how ofter a managed peer was verified
      
      * 🔧 sort adapted to the new peer
      
      * 🚧 Query verified peers for new peers
      
      * 🚧 WIP
      
      *  Add manager tests
      
      * 🍱 Add peering messages to protobuf
      
      * 🎨 Make Salt methods consistent with Peer
      
      *  Handle peering messages
      
      * 🚧 WIP
      
      * 🐛 Add To filed to PeersRequest
      
      *  Add PeersRequest test
      
      *  Adding PeersRequest benchmark
      
      * 🎨 Move mpeer and helper functions to own file
      
      * 🐛 Bump peer only once on reverification
      
      * 🚧 WIP
      
      * 🐛
      
      * 🚧 WIP
      
      * 🐛 Increase buffer to prevent deadlocks
      
      *  Remove unnecessary lock
      
      *  Add peering request test
      
      *  Make tests deterministic by triggering reverify
      
      * 🚧 WIP
      
      * 🔒 fixing concurrency issues
      
      *  testManager improved
      
      * 🐛 Don't send PeeringResponse for invalid salt
      
      * 🚧 WIP
      
      * 🚧 WIP
      
      * 📝 removed commented code
      
      * 🚧 WIP
      
      * 🚧 WIP
      
      * Neighbourhood manager (#11)
      
      *  GetNextCandidate selection added
      
      * 🔒 fixing concurrency issues
      
      *  testManager improved
      
      * 📝 removed commented code
      
      * 🚧 WIP
      
      * 🚧 WIP
      
      * 🚧 WIP
      
      * 🚧 WIP
      
      * ✔️ Make TestAdd pass in neighborhood_test
      
      `Add` should do nothing if the neighborhood list is full.
      
      *  Improve TestSrvVerifyBoot
      
      * ⬆️ Upgrade to go 1.13
      
      *  Use testify instead of magiconair/properties
      
      * 🚧
      
      * 🚧 WIP
      
      * 🚧 WIP
      
      * 🚧 WIP
      
      * 🚧 WIP
      
      * Simulation (#14)
      
      *  clear rejection filter after refreshing the public salt
      
      *  clean rejection filter
      
      *  Add mpeer test
      
      * 🎨 gofmt test
      
      * 🎨 Remove ineffactual assignments
      
      * 🔨 Trigger panic when index is out of bound in deletePeer
      
      *  Add selection test
      
      *  Add TestGetFurtherest and TestGetPeerIndex
      
      *  both salt updated at the same time and neighborhood dropped
      
      * 🎨 Add node peering history for simulation
      
      * 🚧 WIP
      
      *  added sim visualization
      
      * 🔥 removed root handler
      
      * 📝 added README
      
      * 📝 updated README
      
      *  removed unused dependencies
      
      * 🎨 Tidy go.mod
      
      * 🚧 Work in progress
      
      * 🚧 WIP
      
      * 🚧 WIP
      
      * 🚧 WIP
      
      * 💄 improved start button
      
      * 🚧 WIP
      
      *  added keyboard support for start
      
      * 🚧 WIP
      
      * 🚧 WIP
      
      * 🚧 WIP
      
      * 🚧 WIP
      
      * 🚧 WIP
      
      * 🚧 WIP
      
      *  added input parameters
      
      * 📝 README updated
      
      * 💄 gif updated
      
      * 💄 figure updated
      
      * 📝 updated
      
      * 💄 updated gif
      
      * removed simulation metrics
      
      * 📝 updated
      
      * 📝 updated
      
      * ♻️ Extract server from discovery and peering
      
      * 🐛 Use golang/protobuf
      
      * Update README.md
      
      * ♻️ Rename PeersRequest to DiscoveryRequest
      
      * ✏️ Fixing typos
      
      * 🎨 Move unused function to tests
      
      * ♻️ The selection protocol depends on the discovery
      
      *  Make tests more robust when using -race
      
      * 🔊 Improve logging
      
      * 🎨 Remove unnecessary arguments
      
      * 🐛 Fix data races
      
      * 🐛 added timeout for simulated network
      
      * 🎨 added loop to animation
      
      * ♻️ rename neighborhood to selection
      
      *  adds initial salt and fixes simulation end
      
      * 📝 visualizer enabled by default
      
      *  new parameter dropAll and improved python script
      
      * 📝 updated README
      
      * 📝 updated README
      
      * 🐛 fix salt initialization
      
      * 📝 added blogpost link
      
      * 📝 Add badges to README
      
      * 👷 Add Travis CI for tests
      
      * 🚨 Correct formating
      
      * 👷 Running golangci on Travis
      
      * 🚨 Ignore return value of 'logger.Sync'
      
      * 🚨 Remove unused functions
      
      * 📝 Add link to license
      
      * 🎨 Move simnetwork to transport
      
      * 🎨 Use the complete network protocol in simulations
      
      * ♻️ Do not export selection/manager
      
      * 🔥 Remove gRPC transport layer
      
      *  Add UDP connection transport test
      
      * 🚧 Implement the peer DB using Goshimmer database
      
      *  Use the local GoShimmer version
      
      *  Add support for a persistent database
      
      *  Persist private key of local peer in database
      
      * 🐛 Set TTL for bootstrap peers
      
      * 🚧 Use GoShimmer events
      
      *  Store the supported services in the local peer
      
      * 📌 Use most current GoShimmer git version as a dep
      
      *  Switch to hive.go event package
      
      * 🎨 Use correct module iotaledger/autopeering-sim
      
      * 🐛 Provide dummy service in autopeering simulation
      
      *  adds service support in the selection
      
      *  adds peer discovered events
      
      *  adds GetIncomingNeighbors and GetOutgoingNeighbors
      
      * 🐛 fixes out of bound error in splitNodeKey
      
      *  adds public IP support
      
      * 🐛 fixes localhost
      
      * 🐛 fixes localhost parsing
      
      * 🔧 changes selection loop to 1s
      
      * 🔊 switches from fmt.Println to log.Debug
      
      * 🔧 increases maxKnown to 1000 and always triggers discovered peer
      
      *  adds PeerDeleted event
      
      * 🚧 moves PeerDeleted event into deletePeer
      
      *  adds config paramters for the peer discovery
      
      *  adds config parameters to neighbor selection
      
      *  enable/disable inbound/outbound selection
      
      * 💡 Improve Godoc comments
      
      *  modifies disabled outbound selection
      
      * 🐛 fixes bug with disabling the selection
      
      *  removes getMyIP() from server
      
      * 🔇 removes some debugging logs
      
      * 🚧 Introduce services
      
      - Each peer now comes with a set of services
      - Local peer is a proper peer
      - Services are exchanged during Pong and are available for all verified
      peers
      
      * 🐛 fixes GetVerifiedPeer
      
      *  adds gossip key to the service
      
      * 🔇 removes debugging logs
      
      *  Add test for GetVerifiedPeer
      
      * 🐛 Fix main
      
      * 🎨 Add localNetwork to Protocol
      
      * 🐛 Add new but verified peers to the manager
      
      * 🔧 changes configurable parameters
      
      * 🐛 fixes DiscoveryRequest field sequence
      
      * 🍱 Regenerate proto files
      
      * 🎨 Cleanup parameters
      
      * 🐛 Fix potential race condition
      
      * 🔇 Reduce logging verbosity
      
      *  Add test for selection+discover
      
      *  Return net.Addr in Transport
      
      * 🐛 Remove inbound/outbound switches completely
      
      * 🔊 Improve logging
      
      * 🔊 Fix peerdb logs
      
      * 🐛 Fix peer updating
      
      *  Make TestProtFull more robust
      
      * 🎨 Make queryInterval a parameter
      
      * 🔊 Improve loggind during querying
      
      * 🐛 Trigger PeerDiscovered only for active peers
      
      * 🎨 Cleanup protocol tests
      
      *  Add discovery test on protocol level
      
      * 🎨 Rename maxVerified to maxManaged
      
      * 🔧 Increase default query interval
      
      * 🎨 Improve discover benchmarks
      
      *  Fix manager tests
      
      * 🎨 Do not use bugged assert.Eventually
      
      * 🚨 Fix linter warnings in server
      
      * 🚨 Remove unused parameters
      
      * 🎨 Make transport work on slices of bytes
      
      * ✏️ Fix typo in comments
      
      * 🚨 Fix linter warnings
      
      * 🎨 UpdateService accepts two strings
      
      *  Add test that services are received in discover
      
      *  adds required services
      
      * 🎨 Handle closed connections consistently
      
      * 🎨 Code cleanup
      
      * 🐛 fixes DropPeer
      
      * 🎨 improves debug messages
      
      * 🔊 Log errors during reverification
      
      * 🔊
      
       Log packet size
      
      * refactor: remove unused files
      
      * refactor: use internal autopeering package
      
      Co-authored-by: default avatarAngelo Capossele <angelocapossele@gmail.com>
      Co-authored-by: default avatarjkrvivian <jkrvivian@gmail.com>
      8fde09bf
Loading