مسجپک encoding/msgpack
قالب دودویی و فشردهی MessagePack برای مقدارهای پویا.
واردسازی کدگذاری.مسجپک
MessagePack همان دادهی جیسون را به شکل دودویی و کوتاهتر نگه میدارد و خواندنش سریعتر است؛ برای ارسال داده بین سرویسها یا ذخیره در حافظهی نهان مناسب است. این بسته یک مقدار را به بافر بایت تبدیل میکند و برعکس.
گونهها
گزینههای مسجپک MsgpackOptions
ساختار گزینههای مسجپکگزینههای سریالسازی.
| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| use_str8 | use_str8 | منطقی = درست | برای رشتههای کوتاه از قالب str8 استفاده شود؛ پیشفرض درست. پیادهسازیهای خیلی قدیمی این قالب را نمیشناسند. |
واردسازی کدگذاری.مسجپک
واردسازی کدگذاری.مقدار
واردسازی کدگذاری.خطای کدگذاری
واردسازی کدگذاری
واردسازی فشرده سازی
روال ریشه:
ناپایا م := مقدار.شیء جدید()
مقدار.تنظیم کلید(م، "id"، مقدار.مقدار صحیح(۷))
مقدار.تنظیم کلید(م، "ok"، مقدار.مقدار منطقی(درست))
ب := مسجپک.سریال سازی(م)
سرچاپ فشرده سازی.طول بافر(ب)، فشرده سازی.بافر به پایه۶۴(ب)
ناپایا خ := خطای کدگذاری.بدون خطا()
ب۲ := مسجپک.واسریال سازی(ب، خ)
سرچاپ خطای کدگذاری.خطا است(خ)، مقدار.یکسان است(م، ب۲)، مقدار.به صحیح(مقدار.مقدار کلید(ب۲، "id"))
ب۳ := مسجپک.واسریال سازی بایتها(ب.data، ب.len، خ)
سرچاپ مقدار.یکسان است(م، ب۳)
گ := مسجپک.گزینههای مسجپک {}
سرچاپ فشرده سازی.طول بافر(مسجپک.سریال سازی سفارشی(م، گ))
سرچاپ کدگذاری.کدگذاری شانزده(فشرده سازی.بافر به رشته(مسجپک.سریال سازی(مقدار.مقدار صحیح(۵))))
پایانخروجی9 gqJpZAeib2vD
false true 7
true
9
05
روالها
سریال سازی سفارشی MarshalWith
روال سریال سازی سفارشی(v: value.Value، opts: گزینههای مسجپک): compress.ByteBufمقدار را با گزینههای دادهشده به بایتهای مسجپک تبدیل میکند.
نمونهی این مورد همراه با موارد بالاتر آمده است: encoding-msgpack-Marshal.salam
سریال سازی Marshal
روال سریال سازی(v: value.Value): compress.ByteBufمقدار را به بایتهای مسجپک تبدیل میکند.
نمونهی این مورد همراه با موارد بالاتر آمده است: encoding-msgpack-Marshal.salam
واسریال سازی بایتها UnmarshalBytes
روال واسریال سازی بایتها(p: تهی*، n: صحیح، err &: encerr.EncodingError): value.Valuen بایت مسجپک را از حافظه میخواند.نمونهی این مورد همراه با موارد بالاتر آمده است: encoding-msgpack-Marshal.salam
واسریال سازی Unmarshal
روال واسریال سازی(b: compress.ByteBuf، err &: encerr.EncodingError): value.Valueبافر مسجپک را به مقدار تبدیل میکند؛ اگر داده نادرست باشد،
err پر میشود.نمونهی این مورد همراه با موارد بالاتر آمده است: encoding-msgpack-Marshal.salam