Documentation ¶
Index ¶
- Variables
- func FindNetworkLimit(testFunc NetworkTestFunc) (int, error)
- func ParallelismSlowdown(testFunc NetworkTestFunc, kbps int, l time.Duration) (slowdown float64, err error)
- func RandLocalTCPAddress() ma.Multiaddr
- type Identity
- type LatencyConfig
- func (c LatencyConfig) AllInstantaneous() LatencyConfig
- func (c LatencyConfig) Blockstore7200RPM() LatencyConfig
- func (c LatencyConfig) BlockstoreFastSSD2014() LatencyConfig
- func (c LatencyConfig) BlockstoreSlowSSD2014() LatencyConfig
- func (c LatencyConfig) NetworkIntraDatacenter2014() LatencyConfig
- func (c LatencyConfig) NetworkNYtoSF() LatencyConfig
- func (c LatencyConfig) RoutingSlow() LatencyConfig
- type NetworkTestFunc
- type PeerNetParams
- type WriteTrackedConn
Constants ¶
This section is empty.
Variables ¶
var ZeroLocalTCPAddress, _ = ma.NewMultiaddr("/ip4/127.0.0.1/tcp/0")
ZeroLocalTCPAddress is the "zero" tcp local multiaddr. This means:
/ip4/127.0.0.1/tcp/0
Functions ¶
func FindNetworkLimit ¶
func FindNetworkLimit(testFunc NetworkTestFunc) (int, error)
FindNetworkLimit benchmarks a function to analyze CPU and network relationship
func ParallelismSlowdown ¶
func ParallelismSlowdown(testFunc NetworkTestFunc, kbps int, l time.Duration) (slowdown float64, err error)
ParallelismSlowdown tracks how much overhead is incurred on a ntework bound function when parallelism contentention in increased.
func RandLocalTCPAddress ¶
RandLocalTCPAddress returns a random multiaddr. it suppresses errors for nice composability-- do check the address isn't nil.
NOTE: for real network tests, use ZeroLocalTCPAddress so the kernel assigns an unused TCP port. otherwise you may get clashes. This function remains here so that p2p/net/mock (which does not touch the real network) can assign different addresses to peers.
Types ¶
type Identity ¶
type Identity interface { Address() ma.Multiaddr ID() peer.ID PrivateKey() ci.PrivKey PublicKey() ci.PubKey }
func NewIdentity ¶
NewIdentity constructs a new identity object with specific parameters
func RandIdentity ¶
func RandIdentityOrFatal ¶
type LatencyConfig ¶
type LatencyConfig struct { BlockstoreLatency time.Duration NetworkLatency time.Duration RoutingLatency time.Duration }
func (LatencyConfig) AllInstantaneous ¶
func (c LatencyConfig) AllInstantaneous() LatencyConfig
func (LatencyConfig) Blockstore7200RPM ¶
func (c LatencyConfig) Blockstore7200RPM() LatencyConfig
func (LatencyConfig) BlockstoreFastSSD2014 ¶
func (c LatencyConfig) BlockstoreFastSSD2014() LatencyConfig
func (LatencyConfig) BlockstoreSlowSSD2014 ¶
func (c LatencyConfig) BlockstoreSlowSSD2014() LatencyConfig
func (LatencyConfig) NetworkIntraDatacenter2014 ¶
func (c LatencyConfig) NetworkIntraDatacenter2014() LatencyConfig
func (LatencyConfig) NetworkNYtoSF ¶
func (c LatencyConfig) NetworkNYtoSF() LatencyConfig
func (LatencyConfig) RoutingSlow ¶
func (c LatencyConfig) RoutingSlow() LatencyConfig
type NetworkTestFunc ¶
NetworkTestFunc is a benchmark function under test by `FindNetworkLimit`
type PeerNetParams ¶
PeerNetParams is a struct to bundle together the four things you need to run a connection with a peer: id, 2keys, and addr.
func RandPeerNetParams ¶
func RandPeerNetParams() (*PeerNetParams, error)
func RandPeerNetParamsOrFatal ¶
func RandPeerNetParamsOrFatal(t *testing.T) PeerNetParams
type WriteTrackedConn ¶
WriteTrackedConn provides a wrapper for tracking how many write calls are made to a network connection.
func ConnectionForNetwork ¶
func ConnectionForNetwork(n *latency.Network) (n1, n2 *WriteTrackedConn, err error)
ConnectionForNetwork generates a pair of network connections with a specified latency.