コード例 #1
0
ファイル: marshal.go プロジェクト: Karm/qpid-proton
func dataError(prefix string, data *C.pn_data_t) error {
	err := internal.PnError(unsafe.Pointer(C.pn_data_error(data)))
	if err != nil {
		err = internal.Errorf("%s: %s", prefix, err.(internal.Error))
	}
	return err
}
コード例 #2
0
ファイル: marshal.go プロジェクト: ChugR/qpid-proton
func dataError(prefix string, data *C.pn_data_t) error {
	err := PnError(C.pn_data_error(data))
	if err != nil {
		err = fmt.Errorf("%s: %s", prefix, err.Error())
	}
	return err
}
コード例 #3
0
ファイル: unmarshal.go プロジェクト: ChugR/qpid-proton
// decode from bytes.
// Return bytes decoded or 0 if we could not decode a complete object.
//
func decode(data *C.pn_data_t, bytes []byte) (int, error) {
	if len(bytes) == 0 {
		return 0, nil
	}
	n := int(C.pn_data_decode(data, cPtr(bytes), cLen(bytes)))
	if n == int(C.PN_UNDERFLOW) {
		C.pn_error_clear(C.pn_data_error(data))
		return 0, nil
	} else if n <= 0 {
		return 0, fmt.Errorf("unmarshal %s", PnErrorCode(n))
	}
	return n, nil
}
コード例 #4
0
ファイル: unmarshal.go プロジェクト: Karm/qpid-proton
// decode from bytes.
// Return bytes decoded or 0 if we could not decode a complete object.
//
func decode(data *C.pn_data_t, bytes []byte) int {
	if len(bytes) == 0 {
		return 0
	}
	n := int(C.pn_data_decode(data, cPtr(bytes), cLen(bytes)))
	if n == int(C.PN_UNDERFLOW) {
		C.pn_error_clear(C.pn_data_error(data))
		return 0
	} else if n <= 0 {
		panic(internal.Errorf("unmarshal %s", internal.PnErrorCode(n)))
	}
	return n
}
コード例 #5
0
ファイル: wrappers.go プロジェクト: orpiske/qpid-proton
func (d Data) Error() error            { return PnError(C.pn_data_error(d.pn)) }