func (m *Message) GoExchangeBuf(conn net.Conn, rxbuf []byte, reply ExchangeChan) ExchangeChan {
	if reply == nil {
		reply = make(ExchangeChan, 100)
	}
	go func() {
		_, rx, err := m.ExchangeBuf(conn, rxbuf)
		reply <- ExchangeReply{rx, err}
	}()
	return reply
}
// GoExchangeBuf invokes ExchangeBuf in a separate goroutine and reports the
// result back using the supplied reply channel. The goroutine returns after
// sending the result. The reply channel may be nil on invocation, then it is
// created by this method (buffered with a default size).
GoExchangeBuf invokes ExchangeBuf in a separate goroutine and reports the
result back using the supplied reply channel. The goroutine returns after
sending the result. The reply channel may be nil on invocation, then it is
created by this method (buffered with a default size).
// GoExchangeBuf invokes ExchangeBuf in a separate goroutine and reports the // result back using the supplied reply channel . The goroutine returns after // sending the result . The reply channel may be nil on invocation then it is // created by this method ( buffered with a default size ) .
func (m *Message) GoExchangeBuf(conn net.Conn, rxbuf []byte, reply ExchangeChan) ExchangeChan {
	if reply == nil {
		reply = make(ExchangeChan, 100)
	}
	go func() {
		_, rx, err := m.ExchangeBuf(conn, rxbuf)
		reply <- ExchangeReply{rx, err}
	}()
	return reply
}
func ( m * Message ) GoExchangeBuf ( conn net . Conn , rxbuf [ ] byte , reply ExchangeChan ) ExchangeChan { if reply == nil { reply = make ( ExchangeChan , 100 ) } go func ( ) { _ , rx , err := m . ExchangeBuf ( conn , rxbuf ) reply <- ExchangeReply { rx , err } } ( ) return reply }
GoExchangeBuf invokes ExchangeBuf in a separate goroutine and reports the
result back using the supplied reply channel.
GoExchangeBuf invokes ExchangeBuf in a separate goroutine and reports the result back using the supplied reply channel .