Skip to content
Snippets Groups Projects
  • Wolfgang Welz's avatar
    8fde09bf
    Move autopeering code from iotaledger/autopeering-sim to goshimmer (#91) · 8fde09bf
    Wolfgang Welz authored
    * :sparkles: GetNextCandidate selection added
    
    * :bug: Recompile salt.proto
    
    * :recycle: Refactor peer IDs completely
    
    * :bug: Recompile proto sources
    
    * :construction: WIP
    
    * :ok_hand: renamed to sort
    
    * :construction: Return requested peers on request
    
    * :sparkles: Kepp track how ofter a managed peer was verified
    
    * :wrench: sort adapted to the new peer
    
    * :construction: Query verified peers for new peers
    
    * :construction: WIP
    
    * :white_check_mark: Add manager tests
    
    * :bento: Add peering messages to protobuf
    
    * :art: Make Salt methods consistent with Peer
    
    * :sparkles: Handle peering messages
    
    * :construction: WIP
    
    * :bug: Add To filed to PeersRequest
    
    * :white_check_mark: Add PeersRequest test
    
    * :zap: Adding PeersRequest benchmark
    
    * :art: Move mpeer and helper functions to own file
    
    * :bug: Bump peer only once on reverification
    
    * :construction: WIP
    
    * :bug:
    
    * :construction: WIP
    
    * :bug: Increase buffer to prevent deadlocks
    
    * :zap: Remove unnecessary lock
    
    * :white_check_mark: Add peering request test
    
    * :white_check_mark: Make tests deterministic by triggering reverify
    
    * :construction: WIP
    
    * :lock: fixing concurrency issues
    
    * :white_check_mark: testManager improved
    
    * :bug: Don't send PeeringResponse for invalid salt
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :pencil: removed commented code
    
    * :construction: WIP
    
    * :construction: WIP
    
    * Neighbourhood manager (#11)
    
    * :sparkles: GetNextCandidate selection added
    
    * :lock: fixing concurrency issues
    
    * :white_check_mark: testManager improved
    
    * :pencil: removed commented code
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :heavy_check_mark: Make TestAdd pass in neighborhood_test
    
    `Add` should do nothing if the neighborhood list is full.
    
    * :white_check_mark: Improve TestSrvVerifyBoot
    
    * :arrow_up: Upgrade to go 1.13
    
    * :heavy_minus_sign: Use testify instead of magiconair/properties
    
    * :construction:
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * Simulation (#14)
    
    * :sparkles: clear rejection filter after refreshing the public salt
    
    * :sparkles: clean rejection filter
    
    * :white_check_mark: Add mpeer test
    
    * :art: gofmt test
    
    * :art: Remove ineffactual assignments
    
    * :hammer: Trigger panic when index is out of bound in deletePeer
    
    * :white_check_mark: Add selection test
    
    * :white_check_mark: Add TestGetFurtherest and TestGetPeerIndex
    
    * :sparkles: both salt updated at the same time and neighborhood dropped
    
    * :art: Add node peering history for simulation
    
    * :construction: WIP
    
    * :sparkles: added sim visualization
    
    * :fire: removed root handler
    
    * :pencil: added README
    
    * :pencil: updated README
    
    * :heavy_minus_sign: removed unused dependencies
    
    * :art: Tidy go.mod
    
    * :construction: Work in progress
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :lipstick: improved start button
    
    * :construction: WIP
    
    * :sparkles: added keyboard support for start
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :sparkles: added input parameters
    
    * :pencil: README updated
    
    * :lipstick: gif updated
    
    * :lipstick: figure updated
    
    * :pencil: updated
    
    * :lipstick: updated gif
    
    * removed simulation metrics
    
    * :pencil: updated
    
    * :pencil: updated
    
    * :recycle: Extract server from discovery and peering
    
    * :bug: Use golang/protobuf
    
    * Update README.md
    
    * :recycle: Rename PeersRequest to DiscoveryRequest
    
    * :pencil2: Fixing typos
    
    * :art: Move unused function to tests
    
    * :recycle: The selection protocol depends on the discovery
    
    * :white_check_mark: Make tests more robust when using -race
    
    * :loud_sound: Improve logging
    
    * :art: Remove unnecessary arguments
    
    * :bug: Fix data races
    
    * :bug: added timeout for simulated network
    
    * :art: added loop to animation
    
    * :recycle: rename neighborhood to selection
    
    * :sparkles: adds initial salt and fixes simulation end
    
    * :pencil: visualizer enabled by default
    
    * :sparkles: new parameter dropAll and improved python script
    
    * :pencil: updated README
    
    * :pencil: updated README
    
    * :bug: fix salt initialization
    
    * :pencil: added blogpost link
    
    * :pencil: Add badges to README
    
    * :construction_worker: Add Travis CI for tests
    
    * :rotating_light: Correct formating
    
    * :construction_worker: Running golangci on Travis
    
    * :rotating_light: Ignore return value of 'logger.Sync'
    
    * :rotating_light: Remove unused functions
    
    * :pencil: Add link to license
    
    * :art: Move simnetwork to transport
    
    * :art: Use the complete network protocol in simulations
    
    * :recycle: Do not export selection/manager
    
    * :fire: Remove gRPC transport layer
    
    * :white_check_mark: Add UDP connection transport test
    
    * :construction: Implement the peer DB using Goshimmer database
    
    * :heavy_plus_sign: Use the local GoShimmer version
    
    * :sparkles: Add support for a persistent database
    
    * :sparkles: Persist private key of local peer in database
    
    * :bug: Set TTL for bootstrap peers
    
    * :construction: Use GoShimmer events
    
    * :sparkles: Store the supported services in the local peer
    
    * :pushpin: Use most current GoShimmer git version as a dep
    
    * :heavy_plus_sign: Switch to hive.go event package
    
    * :art: Use correct module iotaledger/autopeering-sim
    
    * :bug: Provide dummy service in autopeering simulation
    
    * :sparkles: adds service support in the selection
    
    * :sparkles: adds peer discovered events
    
    * :sparkles: adds GetIncomingNeighbors and GetOutgoingNeighbors
    
    * :bug: fixes out of bound error in splitNodeKey
    
    * :sparkles: adds public IP support
    
    * :bug: fixes localhost
    
    * :bug: fixes localhost parsing
    
    * :wrench: changes selection loop to 1s
    
    * :loud_sound: switches from fmt.Println to log.Debug
    
    * :wrench: increases maxKnown to 1000 and always triggers discovered peer
    
    * :sparkles: adds PeerDeleted event
    
    * :construction: moves PeerDeleted event into deletePeer
    
    * :sparkles: adds config paramters for the peer discovery
    
    * :sparkles: adds config parameters to neighbor selection
    
    * :sparkles: enable/disable inbound/outbound selection
    
    * :bulb: Improve Godoc comments
    
    * :sparkles: modifies disabled outbound selection
    
    * :bug: fixes bug with disabling the selection
    
    * :heavy_minus_sign: removes getMyIP() from server
    
    * :mute: removes some debugging logs
    
    * :construction: 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
    
    * :bug: fixes GetVerifiedPeer
    
    * :sparkles: adds gossip key to the service
    
    * :mute: removes debugging logs
    
    * :white_check_mark: Add test for GetVerifiedPeer
    
    * :bug: Fix main
    
    * :art: Add localNetwork to Protocol
    
    * :bug: Add new but verified peers to the manager
    
    * :wrench: changes configurable parameters
    
    * :bug: fixes DiscoveryRequest field sequence
    
    * :bento: Regenerate proto files
    
    * :art: Cleanup parameters
    
    * :bug: Fix potential race condition
    
    * :mute: Reduce logging verbosity
    
    * :white_check_mark: Add test for selection+discover
    
    * :sparkles: Return net.Addr in Transport
    
    * :bug: Remove inbound/outbound switches completely
    
    * :loud_sound: Improve logging
    
    * :loud_sound: Fix peerdb logs
    
    * :bug: Fix peer updating
    
    * :white_check_mark: Make TestProtFull more robust
    
    * :art: Make queryInterval a parameter
    
    * :loud_sound: Improve loggind during querying
    
    * :bug: Trigger PeerDiscovered only for active peers
    
    * :art: Cleanup protocol tests
    
    * :white_check_mark: Add discovery test on protocol level
    
    * :art: Rename maxVerified to maxManaged
    
    * :wrench: Increase default query interval
    
    * :art: Improve discover benchmarks
    
    * :white_check_mark: Fix manager tests
    
    * :art: Do not use bugged assert.Eventually
    
    * :rotating_light: Fix linter warnings in server
    
    * :rotating_light: Remove unused parameters
    
    * :art: Make transport work on slices of bytes
    
    * :pencil2: Fix typo in comments
    
    * :rotating_light: Fix linter warnings
    
    * :art: UpdateService accepts two strings
    
    * :white_check_mark: Add test that services are received in discover
    
    * :sparkles: adds required services
    
    * :art: Handle closed connections consistently
    
    * :art: Code cleanup
    
    * :bug: fixes DropPeer
    
    * :art: improves debug messages
    
    * :loud_sound: Log errors during reverification
    
    * :loud_sound:
    
     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
    History
    Move autopeering code from iotaledger/autopeering-sim to goshimmer (#91)
    Wolfgang Welz authored
    * :sparkles: GetNextCandidate selection added
    
    * :bug: Recompile salt.proto
    
    * :recycle: Refactor peer IDs completely
    
    * :bug: Recompile proto sources
    
    * :construction: WIP
    
    * :ok_hand: renamed to sort
    
    * :construction: Return requested peers on request
    
    * :sparkles: Kepp track how ofter a managed peer was verified
    
    * :wrench: sort adapted to the new peer
    
    * :construction: Query verified peers for new peers
    
    * :construction: WIP
    
    * :white_check_mark: Add manager tests
    
    * :bento: Add peering messages to protobuf
    
    * :art: Make Salt methods consistent with Peer
    
    * :sparkles: Handle peering messages
    
    * :construction: WIP
    
    * :bug: Add To filed to PeersRequest
    
    * :white_check_mark: Add PeersRequest test
    
    * :zap: Adding PeersRequest benchmark
    
    * :art: Move mpeer and helper functions to own file
    
    * :bug: Bump peer only once on reverification
    
    * :construction: WIP
    
    * :bug:
    
    * :construction: WIP
    
    * :bug: Increase buffer to prevent deadlocks
    
    * :zap: Remove unnecessary lock
    
    * :white_check_mark: Add peering request test
    
    * :white_check_mark: Make tests deterministic by triggering reverify
    
    * :construction: WIP
    
    * :lock: fixing concurrency issues
    
    * :white_check_mark: testManager improved
    
    * :bug: Don't send PeeringResponse for invalid salt
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :pencil: removed commented code
    
    * :construction: WIP
    
    * :construction: WIP
    
    * Neighbourhood manager (#11)
    
    * :sparkles: GetNextCandidate selection added
    
    * :lock: fixing concurrency issues
    
    * :white_check_mark: testManager improved
    
    * :pencil: removed commented code
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :heavy_check_mark: Make TestAdd pass in neighborhood_test
    
    `Add` should do nothing if the neighborhood list is full.
    
    * :white_check_mark: Improve TestSrvVerifyBoot
    
    * :arrow_up: Upgrade to go 1.13
    
    * :heavy_minus_sign: Use testify instead of magiconair/properties
    
    * :construction:
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * Simulation (#14)
    
    * :sparkles: clear rejection filter after refreshing the public salt
    
    * :sparkles: clean rejection filter
    
    * :white_check_mark: Add mpeer test
    
    * :art: gofmt test
    
    * :art: Remove ineffactual assignments
    
    * :hammer: Trigger panic when index is out of bound in deletePeer
    
    * :white_check_mark: Add selection test
    
    * :white_check_mark: Add TestGetFurtherest and TestGetPeerIndex
    
    * :sparkles: both salt updated at the same time and neighborhood dropped
    
    * :art: Add node peering history for simulation
    
    * :construction: WIP
    
    * :sparkles: added sim visualization
    
    * :fire: removed root handler
    
    * :pencil: added README
    
    * :pencil: updated README
    
    * :heavy_minus_sign: removed unused dependencies
    
    * :art: Tidy go.mod
    
    * :construction: Work in progress
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :lipstick: improved start button
    
    * :construction: WIP
    
    * :sparkles: added keyboard support for start
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :construction: WIP
    
    * :sparkles: added input parameters
    
    * :pencil: README updated
    
    * :lipstick: gif updated
    
    * :lipstick: figure updated
    
    * :pencil: updated
    
    * :lipstick: updated gif
    
    * removed simulation metrics
    
    * :pencil: updated
    
    * :pencil: updated
    
    * :recycle: Extract server from discovery and peering
    
    * :bug: Use golang/protobuf
    
    * Update README.md
    
    * :recycle: Rename PeersRequest to DiscoveryRequest
    
    * :pencil2: Fixing typos
    
    * :art: Move unused function to tests
    
    * :recycle: The selection protocol depends on the discovery
    
    * :white_check_mark: Make tests more robust when using -race
    
    * :loud_sound: Improve logging
    
    * :art: Remove unnecessary arguments
    
    * :bug: Fix data races
    
    * :bug: added timeout for simulated network
    
    * :art: added loop to animation
    
    * :recycle: rename neighborhood to selection
    
    * :sparkles: adds initial salt and fixes simulation end
    
    * :pencil: visualizer enabled by default
    
    * :sparkles: new parameter dropAll and improved python script
    
    * :pencil: updated README
    
    * :pencil: updated README
    
    * :bug: fix salt initialization
    
    * :pencil: added blogpost link
    
    * :pencil: Add badges to README
    
    * :construction_worker: Add Travis CI for tests
    
    * :rotating_light: Correct formating
    
    * :construction_worker: Running golangci on Travis
    
    * :rotating_light: Ignore return value of 'logger.Sync'
    
    * :rotating_light: Remove unused functions
    
    * :pencil: Add link to license
    
    * :art: Move simnetwork to transport
    
    * :art: Use the complete network protocol in simulations
    
    * :recycle: Do not export selection/manager
    
    * :fire: Remove gRPC transport layer
    
    * :white_check_mark: Add UDP connection transport test
    
    * :construction: Implement the peer DB using Goshimmer database
    
    * :heavy_plus_sign: Use the local GoShimmer version
    
    * :sparkles: Add support for a persistent database
    
    * :sparkles: Persist private key of local peer in database
    
    * :bug: Set TTL for bootstrap peers
    
    * :construction: Use GoShimmer events
    
    * :sparkles: Store the supported services in the local peer
    
    * :pushpin: Use most current GoShimmer git version as a dep
    
    * :heavy_plus_sign: Switch to hive.go event package
    
    * :art: Use correct module iotaledger/autopeering-sim
    
    * :bug: Provide dummy service in autopeering simulation
    
    * :sparkles: adds service support in the selection
    
    * :sparkles: adds peer discovered events
    
    * :sparkles: adds GetIncomingNeighbors and GetOutgoingNeighbors
    
    * :bug: fixes out of bound error in splitNodeKey
    
    * :sparkles: adds public IP support
    
    * :bug: fixes localhost
    
    * :bug: fixes localhost parsing
    
    * :wrench: changes selection loop to 1s
    
    * :loud_sound: switches from fmt.Println to log.Debug
    
    * :wrench: increases maxKnown to 1000 and always triggers discovered peer
    
    * :sparkles: adds PeerDeleted event
    
    * :construction: moves PeerDeleted event into deletePeer
    
    * :sparkles: adds config paramters for the peer discovery
    
    * :sparkles: adds config parameters to neighbor selection
    
    * :sparkles: enable/disable inbound/outbound selection
    
    * :bulb: Improve Godoc comments
    
    * :sparkles: modifies disabled outbound selection
    
    * :bug: fixes bug with disabling the selection
    
    * :heavy_minus_sign: removes getMyIP() from server
    
    * :mute: removes some debugging logs
    
    * :construction: 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
    
    * :bug: fixes GetVerifiedPeer
    
    * :sparkles: adds gossip key to the service
    
    * :mute: removes debugging logs
    
    * :white_check_mark: Add test for GetVerifiedPeer
    
    * :bug: Fix main
    
    * :art: Add localNetwork to Protocol
    
    * :bug: Add new but verified peers to the manager
    
    * :wrench: changes configurable parameters
    
    * :bug: fixes DiscoveryRequest field sequence
    
    * :bento: Regenerate proto files
    
    * :art: Cleanup parameters
    
    * :bug: Fix potential race condition
    
    * :mute: Reduce logging verbosity
    
    * :white_check_mark: Add test for selection+discover
    
    * :sparkles: Return net.Addr in Transport
    
    * :bug: Remove inbound/outbound switches completely
    
    * :loud_sound: Improve logging
    
    * :loud_sound: Fix peerdb logs
    
    * :bug: Fix peer updating
    
    * :white_check_mark: Make TestProtFull more robust
    
    * :art: Make queryInterval a parameter
    
    * :loud_sound: Improve loggind during querying
    
    * :bug: Trigger PeerDiscovered only for active peers
    
    * :art: Cleanup protocol tests
    
    * :white_check_mark: Add discovery test on protocol level
    
    * :art: Rename maxVerified to maxManaged
    
    * :wrench: Increase default query interval
    
    * :art: Improve discover benchmarks
    
    * :white_check_mark: Fix manager tests
    
    * :art: Do not use bugged assert.Eventually
    
    * :rotating_light: Fix linter warnings in server
    
    * :rotating_light: Remove unused parameters
    
    * :art: Make transport work on slices of bytes
    
    * :pencil2: Fix typo in comments
    
    * :rotating_light: Fix linter warnings
    
    * :art: UpdateService accepts two strings
    
    * :white_check_mark: Add test that services are received in discover
    
    * :sparkles: adds required services
    
    * :art: Handle closed connections consistently
    
    * :art: Code cleanup
    
    * :bug: fixes DropPeer
    
    * :art: improves debug messages
    
    * :loud_sound: Log errors during reverification
    
    * :loud_sound:
    
     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>
id.go 841 B