package natpmp import "time" type callObserver interface { observeCall(msg []byte, result []byte, err error) } // A caller that records the RPC call. type recorder struct { child caller observer callObserver } func (n *recorder) call(msg []byte, timeout time.Duration) (result []byte, err error) { result, err = n.child.call(msg, timeout) n.observer.observeCall(msg, result, err) return }