Merge pull request #369 from libp2p/feat/stat
Add Stat to mock net conns and streams
This commit is contained in:
commit
eeddac930f
|
@ -29,14 +29,16 @@ type conn struct {
|
|||
rconn *conn // counterpart
|
||||
streams list.List
|
||||
proc process.Process
|
||||
stat inet.Stat
|
||||
|
||||
sync.RWMutex
|
||||
}
|
||||
|
||||
func newConn(ln, rn *peernet, l *link) *conn {
|
||||
func newConn(ln, rn *peernet, l *link, dir inet.Direction) *conn {
|
||||
c := &conn{net: ln, link: l}
|
||||
c.local = ln.peer
|
||||
c.remote = rn.peer
|
||||
c.stat = inet.Stat{Direction: dir}
|
||||
|
||||
c.localAddr = ln.ps.Addrs(ln.peer)[0]
|
||||
c.remoteAddr = rn.ps.Addrs(rn.peer)[0]
|
||||
|
@ -155,3 +157,8 @@ func (c *conn) RemotePeer() peer.ID {
|
|||
func (c *conn) RemotePublicKey() ic.PubKey {
|
||||
return c.remotePubKey
|
||||
}
|
||||
|
||||
// Stat returns metadata about the connection
|
||||
func (c *conn) Stat() inet.Stat {
|
||||
return c.stat
|
||||
}
|
||||
|
|
|
@ -33,8 +33,8 @@ func (l *link) newConnPair(dialer *peernet) (*conn, *conn) {
|
|||
l.RLock()
|
||||
defer l.RUnlock()
|
||||
|
||||
c1 := newConn(l.nets[0], l.nets[1], l)
|
||||
c2 := newConn(l.nets[1], l.nets[0], l)
|
||||
c1 := newConn(l.nets[0], l.nets[1], l, inet.DirOutbound)
|
||||
c2 := newConn(l.nets[1], l.nets[0], l, inet.DirInbound)
|
||||
c1.rconn = c2
|
||||
c2.rconn = c1
|
||||
|
||||
|
@ -48,8 +48,8 @@ func (l *link) newStreamPair() (*stream, *stream) {
|
|||
ra, wb := io.Pipe()
|
||||
rb, wa := io.Pipe()
|
||||
|
||||
sa := NewStream(wa, ra)
|
||||
sb := NewStream(wb, rb)
|
||||
sa := NewStream(wa, ra, inet.DirOutbound)
|
||||
sb := NewStream(wb, rb, inet.DirInbound)
|
||||
return sa, sb
|
||||
}
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ type stream struct {
|
|||
writeErr error
|
||||
|
||||
protocol protocol.ID
|
||||
stat inet.Stat
|
||||
}
|
||||
|
||||
var ErrReset error = errors.New("stream reset")
|
||||
|
@ -35,7 +36,7 @@ type transportObject struct {
|
|||
arrivalTime time.Time
|
||||
}
|
||||
|
||||
func NewStream(w *io.PipeWriter, r *io.PipeReader) *stream {
|
||||
func NewStream(w *io.PipeWriter, r *io.PipeReader, dir inet.Direction) *stream {
|
||||
s := &stream{
|
||||
read: r,
|
||||
write: w,
|
||||
|
@ -43,6 +44,7 @@ func NewStream(w *io.PipeWriter, r *io.PipeReader) *stream {
|
|||
close: make(chan struct{}, 1),
|
||||
closed: make(chan struct{}),
|
||||
toDeliver: make(chan *transportObject),
|
||||
stat: inet.Stat{Direction: dir},
|
||||
}
|
||||
|
||||
go s.transport()
|
||||
|
@ -66,6 +68,10 @@ func (s *stream) Protocol() protocol.ID {
|
|||
return s.protocol
|
||||
}
|
||||
|
||||
func (s *stream) Stat() inet.Stat {
|
||||
return s.stat
|
||||
}
|
||||
|
||||
func (s *stream) SetProtocol(proto protocol.ID) {
|
||||
s.protocol = proto
|
||||
}
|
||||
|
|
52
package.json
52
package.json
|
@ -61,9 +61,9 @@
|
|||
},
|
||||
{
|
||||
"author": "whyrusleeping",
|
||||
"hash": "QmWKKkNLFRcznF5vDqt2eeRsnQqQhwbjVf8zJ9KC2RXrzN",
|
||||
"hash": "QmWri2HWdxHjWBUermhWy7QWJqN1cV8Gd1QbDiB5m86f1H",
|
||||
"name": "go-libp2p-secio",
|
||||
"version": "2.0.7"
|
||||
"version": "2.0.8"
|
||||
},
|
||||
{
|
||||
"author": "whyrusleeping",
|
||||
|
@ -73,15 +73,15 @@
|
|||
},
|
||||
{
|
||||
"author": "whyrusleeping",
|
||||
"hash": "QmYr9RHifaqHTFZdAsUPLmiMAi2oNeEqA48AFKxXJAsLpJ",
|
||||
"hash": "QmcDUyb52N62J8ZamGgUWUyWc1MtuCBce7WFA4D9xA6cwF",
|
||||
"name": "go-libp2p-transport",
|
||||
"version": "3.0.7"
|
||||
"version": "3.0.8"
|
||||
},
|
||||
{
|
||||
"author": "whyrusleeping",
|
||||
"hash": "QmcK89iqkFV8TqpRUgx1481YZbhjPFnBjqkpBQJfJqmSfm",
|
||||
"hash": "Qmcw9fndogcYwyGs4a5TPDbnZPBLxvtrBZzpvyyVDzxDWT",
|
||||
"name": "go-tcp-transport",
|
||||
"version": "2.0.7"
|
||||
"version": "2.0.8"
|
||||
},
|
||||
{
|
||||
"author": "whyrusleeping",
|
||||
|
@ -103,9 +103,9 @@
|
|||
},
|
||||
{
|
||||
"author": "whyrusleeping",
|
||||
"hash": "QmX5J1q63BrrDTbpcHifrFbxH3cMZsvaNajy6u3zCpzBXs",
|
||||
"hash": "QmQSbtGXCyNrj34LWL8EgXyNNYDZ8r3SwQcpW5pPxVhLnM",
|
||||
"name": "go-libp2p-net",
|
||||
"version": "3.0.7"
|
||||
"version": "3.0.8"
|
||||
},
|
||||
{
|
||||
"author": "whyrusleeping",
|
||||
|
@ -115,15 +115,15 @@
|
|||
},
|
||||
{
|
||||
"author": "whyrusleeping",
|
||||
"hash": "QmRRCrNRs4qxotXx7WJT6SpCvSNEhXvyBcVjXY2K71pcjE",
|
||||
"hash": "QmPMtD39NN63AEUNghk1LFQcTLcCmYL8MtRzdv8BRUsC4Z",
|
||||
"name": "go-libp2p-host",
|
||||
"version": "3.0.6"
|
||||
"version": "3.0.7"
|
||||
},
|
||||
{
|
||||
"author": "whyrusleeping",
|
||||
"hash": "QmPWNZRUybw3nwJH3mpkrwB97YEQmXRkzvyh34rpJiih6Q",
|
||||
"hash": "QmYSM6PKnCe9YVPNMisfpoBmczzHkA7h5Wrnc36DtdJhGo",
|
||||
"name": "go-libp2p-swarm",
|
||||
"version": "3.0.8"
|
||||
"version": "3.0.9"
|
||||
},
|
||||
{
|
||||
"author": "whyrusleeping",
|
||||
|
@ -139,9 +139,9 @@
|
|||
},
|
||||
{
|
||||
"author": "whyrusleeping",
|
||||
"hash": "QmRAsmNHjzKVuscipvMVjB3NTyLW1HTBiSP8LaKD1iUJmH",
|
||||
"hash": "QmbKt1yZEnCWUmQhZR9BMiXK4e4FoaqnieAARz1s88MSzf",
|
||||
"name": "go-libp2p-blankhost",
|
||||
"version": "0.3.6"
|
||||
"version": "0.3.7"
|
||||
},
|
||||
{
|
||||
"author": "whyrusleeping",
|
||||
|
@ -169,9 +169,9 @@
|
|||
},
|
||||
{
|
||||
"author": "vyzo",
|
||||
"hash": "Qmbc6WjgbkaYhPw5dd6X2RLGiJz854dPPKkyZf52vE2PTS",
|
||||
"hash": "QmVYqPFBGi5wiuxpKxf4mUePEDdfXh8H7HKtq4mH8SeqML",
|
||||
"name": "go-libp2p-circuit",
|
||||
"version": "2.1.9"
|
||||
"version": "2.1.10"
|
||||
},
|
||||
{
|
||||
"author": "lgierth",
|
||||
|
@ -181,9 +181,9 @@
|
|||
},
|
||||
{
|
||||
"author": "why",
|
||||
"hash": "QmUPz6FCzCCU7sTY9Sore5NGSUA8YSF2yMkLPjDFq7wGqD",
|
||||
"hash": "QmVz2p8ZVZ5GcWPNWGs2HZHiZyHumZcJpQdMRpxkMDhc2C",
|
||||
"name": "go-libp2p-interface-connmgr",
|
||||
"version": "0.0.13"
|
||||
"version": "0.0.14"
|
||||
},
|
||||
{
|
||||
"author": "whyrusleeping",
|
||||
|
@ -193,21 +193,21 @@
|
|||
},
|
||||
{
|
||||
"author": "whyrusleeping",
|
||||
"hash": "QmTDv8XeECZaYBZXo5SAEGueMiPTszAkGZQ5YiM5KCAJai",
|
||||
"hash": "QmSQhZyqoEepHPHr6kCpAoYVHzvVkTHAAXnNqFEFbVaaQr",
|
||||
"name": "go-ws-transport",
|
||||
"version": "2.0.7"
|
||||
"version": "2.0.8"
|
||||
},
|
||||
{
|
||||
"author": "stebalien",
|
||||
"hash": "Qma6UXLMHjdVFExQZLYqdb5KAesbnoXuthQzovrwRZ64fG",
|
||||
"hash": "QmSbkqfiFmJCdczVQ7mkFZf5FUUNpuP5Ne2LxY2htXGtrZ",
|
||||
"name": "go-conn-security-multistream",
|
||||
"version": "0.1.6"
|
||||
"version": "0.1.7"
|
||||
},
|
||||
{
|
||||
"author": "Stebalien",
|
||||
"hash": "QmcGgFLHMFLcNMMvxsBC5LeLqubLR5djxjShVU3koVMtVq",
|
||||
"hash": "QmNPQvc3jUA7L6oHB8en9PittPGazFMdoveN2oycHL6yWF",
|
||||
"name": "go-conn-security",
|
||||
"version": "0.1.7"
|
||||
"version": "0.1.8"
|
||||
},
|
||||
{
|
||||
"author": "libp2p",
|
||||
|
@ -223,9 +223,9 @@
|
|||
},
|
||||
{
|
||||
"author": "steb",
|
||||
"hash": "QmfNvpHX396fhMeauERV6eFnSJg78rUjhjpFf1JvbjxaYM",
|
||||
"hash": "QmefQrpDSYX6jQRtUyhcASFVBDkoAsDTPXemyxGMzA3phK",
|
||||
"name": "go-libp2p-transport-upgrader",
|
||||
"version": "0.1.7"
|
||||
"version": "0.1.8"
|
||||
},
|
||||
{
|
||||
"hash": "QmdxUuburamoF6zF9qjeQC4WYcWGbWuRmdLacMEsW8ioD8",
|
||||
|
|
Loading…
Reference in New Issue