1. 12 2月, 2018 1 次提交
    • F
      p2p, p2p/discover: misc connectivity improvements (#16069) · 9123eceb
      Felix Lange 提交于
      * p2p: add DialRatio for configuration of inbound vs. dialed connections
      
      * p2p: add connection flags to PeerInfo
      
      * p2p/netutil: add SameNet, DistinctNetSet
      
      * p2p/discover: improve revalidation and seeding
      
      This changes node revalidation to be periodic instead of on-demand. This
      should prevent issues where dead nodes get stuck in closer buckets
      because no other node will ever come along to replace them.
      
      Every 5 seconds (on average), the last node in a random bucket is
      checked and moved to the front of the bucket if it is still responding.
      If revalidation fails, the last node is replaced by an entry of the
      'replacement list' containing recently-seen nodes.
      
      Most close buckets are removed because it's very unlikely we'll ever
      encounter a node that would fall into any of those buckets.
      
      Table seeding is also improved: we now require a few minutes of table
      membership before considering a node as a potential seed node. This
      should make it less likely to store short-lived nodes as potential
      seeds.
      
      * p2p/discover: fix nits in UDP transport
      
      We would skip sending neighbors replies if there were fewer than
      maxNeighbors results and CheckRelayIP returned an error for the last
      one. While here, also resolve a TODO about pong reply tokens.
      9123eceb
  2. 12 4月, 2017 1 次提交
    • F
      cmd/geth: add --config file flag (#13875) · 30d706c3
      Felix Lange 提交于
      * p2p/discover, p2p/discv5: add marshaling methods to Node
      
      * p2p/netutil: make Netlist decodable from TOML
      
      * common/math: encode nil HexOrDecimal256 as 0x0
      
      * cmd/geth: add --config file flag
      
      * cmd/geth: add missing license header
      
      * eth: prettify Config again, fix tests
      
      * eth: use gasprice.Config instead of duplicating its fields
      
      * eth/gasprice: hide nil default from dumpconfig output
      
      * cmd/geth: hide genesis block in dumpconfig output
      
      * node: make tests compile
      
      * console: fix tests
      
      * cmd/geth: make TOML keys look exactly like Go struct fields
      
      * p2p: use discovery by default
      
      This makes the zero Config slightly more useful. It also fixes package
      node tests because Node detects reuse of the datadir through the
      NodeDatabase.
      
      * cmd/geth: make ethstats URL settable through config file
      
      * cmd/faucet: fix configuration
      
      * cmd/geth: dedup attach tests
      
      * eth: add comment for DefaultConfig
      
      * eth: pass downloader.SyncMode in Config
      
      This removes the FastSync, LightSync flags in favour of a more
      general SyncMode flag.
      
      * cmd/utils: remove jitvm flags
      
      * cmd/utils: make mutually exclusive flag error prettier
      
      It now reads:
      
         Fatal: flags --dev, --testnet can't be used at the same time
      
      * p2p: fix typo
      
      * node: add DefaultConfig, use it for geth
      
      * mobile: add missing NoDiscovery option
      
      * cmd/utils: drop MakeNode
      
      This exposed a couple of places that needed to be updated to use
      node.DefaultConfig.
      
      * node: fix typo
      
      * eth: make fast sync the default mode
      
      * cmd/utils: remove IPCApiFlag (unused)
      
      * node: remove default IPC path
      
      Set it in the frontends instead.
      
      * cmd/geth: add --syncmode
      
      * cmd/utils: make --ipcdisable and --ipcpath mutually exclusive
      
      * cmd/utils: don't enable WS, HTTP when setting addr
      
      * cmd/utils: fix --identity
      30d706c3
  3. 23 11月, 2016 1 次提交