mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-04-01 15:45:55 +00:00
* simv2: wip * simulation: exec adapter start/stop * simulation: add node status to exec adapter * simulation: initial simulation code * simulation: exec adapter, configure path to executable * simulation: initial docker adapter * simulation: wip kubernetes adapter * simulation: kubernetes adapter proxy * simulation: implement GetAll/StartAll/StopAll * simulation: kuberentes adapter - set env vars and resource limits * simulation: discovery test * simulation: remove port definitions within docker adapter * simulation: simplify wait for healthy loop * simulation: get nat ip addr from interface * simulation: pull docker images automatically * simulation: NodeStatus -> NodeInfo * simulation: move discovery test to example dir * simulation: example snapshot usage * simulation: add goclient specific simulation * simulation: add peer connections to snapshot * simulation: close rpc client * simulation: don't export kubernetes proxy server * simulation: merge simulation code * simulation: don't export nodemap * simulation: rename SimulationSnapshot -> Snapshot * simulation: linting fixes * simulation: add k8s available helper func * simulation: vendor * simulation: fix 'no non-test Go files' when building * simulation: remove errors from interface methods where non were returned * simulation: run getHealthInfo check in parallel
44 lines
978 B
Go
44 lines
978 B
Go
// Copyright 2013 Dario Castañé. All rights reserved.
|
|
// Copyright 2009 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
/*
|
|
Package mergo merges same-type structs and maps by setting default values in zero-value fields.
|
|
|
|
Mergo won't merge unexported (private) fields but will do recursively any exported one. It also won't merge structs inside maps (because they are not addressable using Go reflection).
|
|
|
|
Usage
|
|
|
|
From my own work-in-progress project:
|
|
|
|
type networkConfig struct {
|
|
Protocol string
|
|
Address string
|
|
ServerType string `json: "server_type"`
|
|
Port uint16
|
|
}
|
|
|
|
type FssnConfig struct {
|
|
Network networkConfig
|
|
}
|
|
|
|
var fssnDefault = FssnConfig {
|
|
networkConfig {
|
|
"tcp",
|
|
"127.0.0.1",
|
|
"http",
|
|
31560,
|
|
},
|
|
}
|
|
|
|
// Inside a function [...]
|
|
|
|
if err := mergo.Merge(&config, fssnDefault); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
// More code [...]
|
|
|
|
*/
|
|
package mergo
|