اشیاء بافر پیکل

اضافه شده در نسخه‌ی 3.8.

شیء pickle.PickleBuffer یک شیء فراهم‌کننده‌ی بافر را برای انتقال داده‌ی خارج از باند (out-of-band) با ماژول pickle دربرمی‌گیرد.

PyTypeObject PyPickleBuffer_Type

این نمونه از PyTypeObject نوع بافر پیکل پایتون را نشان می‌دهد. این همان شیء pickle.PickleBuffer در لایه پایتون است.

int PyPickleBuffer_Check(PyObject *op)

اگر op یک نمونه‌ی بافر پیکل باشد، مقدار true را برمی‌گرداند. این تابع همیشه با موفقیت اجرا می‌شود.

PyObject *PyPickleBuffer_FromObject(PyObject *obj)

از شیء obj یک بافر پیکل بسازید.

این تابع در صورتی که obj از پروتکل بافر پشتیبانی نکند، شکست می‌خورد.

در صورت موفقیت، یک نمونه جدید بافر پیکل برمی‌گرداند. در صورت شکست، یک استثنا تنظیم کرده و NULL برمی‌گرداند.

مشابه فراخوانی pickle.PickleBuffer با obj در پایتون.

const Py_buffer *PyPickleBuffer_GetBuffer(PyObject *picklebuf)

یک اشاره‌گر به Py_buffer زیرین که بافر پیکل دربر می‌گیرد، دریافت کنید.

اشاره‌گر بازگردانده‌شده تا زمانی که picklebuf زنده باشد و آزاد نشده باشد، معتبر است. فراخواننده نباید Py_buffer بازگردانده‌شده را تغییر دهد یا آزاد کند. اگر بافر پیکل آزاد شده باشد، استثنای ValueError مطرح می‌شود.

در صورت موفقیت، اشاره‌گری به نمای بافر برگردانده می‌شود. در صورت شکست، یک استثنا تنظیم شده و NULL برگردانده می‌شود.

int PyPickleBuffer_Release(PyObject *picklebuf)

بافر زیرینِ نگه‌داشته‌شده توسط بافر پیکل را آزاد می‌کند.

در صورت موفقیت 0 را برمی‌گرداند. در صورت شکست، یک استثنا تنظیم کرده و -1 را برمی‌گرداند.

معادل فراخوانی pickle.PickleBuffer.release() در پایتون است.