Python

피클 버퍼 객체

Added in version 3.8.

pickle.PickleBuffer 객체는 pickle 모듈과 함께 사용하는 아웃 오브 밴드(out-of-band) 데이터 전송을 위해 buffer-providing object 를 래핑합니다.

PyTypeObject PyPickleBuffer_Type

PyTypeObject 인스턴스는 파이썬 피클 버퍼 타입을 나타내며, 이는 파이썬 계층의 pickle.PickleBuffer 와 동일한 객체입니다.

int PyPickleBuffer_Check(PyObject *op)

op 이 피클 버퍼 인스턴스이면 참을 반환합니다. 이 함수는 항상 성공합니다.

PyObject *PyPickleBuffer_FromObject(PyObject *obj)

obj 로부터 피클 버퍼를 생성합니다.

objbuffer protocol 을 지원하지 않는 경우 이 함수는 실패합니다.

성공 시 새로운 피클 버퍼 인스턴스를 반환하고, 실패 시 예외를 설정하고 NULL 을 반환합니다.

파이썬에서 obj 와 함께 pickle.PickleBuffer 를 호출하는 것과 유사합니다.

const Py_buffer *PyPickleBuffer_GetBuffer(PyObject *picklebuf)

피클 버퍼가 래핑하는 하부 Py_buffer 에 대한 포인터를 가져옵니다.

반환된 포인터는 picklebuf 가 살아있고 해제되지 않은 동안에만 유효합니다. 호출자는 반환된 Py_buffer 를 수정하거나 해제해서는 안 됩니다. 피클 버퍼가 해제된 경우 ValueError 를 발생시킵니다.

성공 시 버퍼 뷰에 대한 포인터를 반환하고, 실패 시 예외를 설정하고 NULL 을 반환합니다.

int PyPickleBuffer_Release(PyObject *picklebuf)

피클 버퍼가 보유한 하부 버퍼를 해제합니다.

성공 시 0 을 반환하고, 실패 시 예외를 설정하고 -1 을 반환합니다.

파이썬에서 pickle.PickleBuffer.release() 를 호출하는 것과 유사합니다.

분실물 보관소