net_transport.go
func decodeResponse(conn *netConn, resp interface{}) (bool, error) {
	// Decode the error if any
	var rpcError string
	if err := conn.dec.Decode(&rpcError); err != nil {
		conn.Release()
		return false, err
	}

	// Decode the response
	if err := conn.dec.Decode(resp); err != nil {
		conn.Release()
		return false, err
	}

	// Format an error if any
	if rpcError != "" {
		return true, fmt.Errorf(rpcError)
	}
	return true, nil
}
func decodeResponse(conn *netConn, resp interface{}) (bool, error) {
	// Decode the error if any
	var rpcError string
	if err := conn.dec.Decode(&rpcError); err != nil {
		conn.Release()
		return false, err
	}

	// Decode the response
	if err := conn.dec.Decode(resp); err != nil {
		conn.Release()
		return false, err
	}

	// Format an error if any
	if rpcError != "" {
		return true, fmt.Errorf(rpcError)
	}
	return true, nil
}
func decodeResponse ( conn * netConn , resp interface { } ) ( bool , error ) { // Decode the error if any var rpcError string if err := conn . dec . Decode ( & rpcError ) ; err != nil { conn . Release ( ) return false , err } // Decode the response if err := conn . dec . Decode ( resp ) ; err != nil { conn . Release ( ) return false , err } // Format an error if any if rpcError != " " { return true , fmt . Errorf ( rpcError ) } return true , nil }
// decodeResponse is used to decode an RPC response and reports whether
// the connection can be reused.
decodeResponse is used to decode an RPC response and reports whether the connection can be reused .