Документация Python неофициальный перевод

Объекты буфера picklePickle buffer objects

Добавлено в версии 3.8.

Объект pickle.PickleBuffer оборачивает объект, предоставляющий буфер для внеполосной передачи данных с модулем pickle.

PyTypeObject PyPickleBuffer_Type

Этот экземпляр PyTypeObject представляет тип буфера pickle в Python. Это тот же объект, что и pickle.PickleBuffer на уровне Python.

int PyPickleBuffer_Check(PyObject *op)

Возвращает true, если op является экземпляром буфера pickle. Эта функция всегда завершается успешно.

PyObject *PyPickleBuffer_FromObject(PyObject *obj)

Создаёт буфер pickle из объекта obj.

Эта функция завершится ошибкой, если obj не поддерживает протокол буфера.

В случае успеха возвращает новый экземпляр буфера pickle. В случае неудачи устанавливает исключение и возвращает NULL.

Аналогично вызову pickle.PickleBuffer с obj в Python.

const Py_buffer *PyPickleBuffer_GetBuffer(PyObject *picklebuf)

Получает указатель на лежащий в основе Py_buffer, который оборачивает буфер pickle.

Возвращённый указатель действителен, пока picklebuf жив и не освобождён. Вызывающий не должен изменять или освобождать возвращённый Py_buffer. Если буфер pickle был освобождён, возбуждается ValueError.

В случае успеха возвращает указатель на представление буфера. В случае неудачи устанавливает исключение и возвращает NULL.

int PyPickleBuffer_Release(PyObject *picklebuf)

Освобождает лежащий в основе буфер, удерживаемый буфером pickle.

Возвращает 0 в случае успеха. В случае неудачи устанавливает исключение и возвращает -1.

Аналогично вызову pickle.PickleBuffer.release() в Python.