پروٹوکول — کلائنٹ ↔ سرور
کلائنٹ پورٹ (ڈیفالٹ 5225) پر آنے جانے والے ہر بائٹ کا مکمل خاکہ۔ اس میں کنکشن کے فوراً بعد ایک بار ہونے والا تصدیقی ہینڈ شیک اور اس کے بعد بائنری فریم لاک پروٹوکول شامل ہے۔ ہر سرکاری کلائنٹ اس خاکے کو بائٹ بہ بائٹ ایک جیسا نافذ کرتا ہے۔
ہر پیغام صفحے کا ڈھانچہ فیلڈ ترتیب دکھاتا ہے، اور مثال اصل بھیجے گئے بائٹس دکھاتی ہے (refresh سے قدر بدل جاتی ہے)۔
بائٹ نوٹیشن:
opکو ASCII حرف (مثلاًA) کے طور پر دکھایا جاتا ہے؛waitاورleaseبائنری u8 قدریں ہیں، جبکہtokenاورownerبائنری u64 big-endian قدریں ہیں۔ انہیں hex میں دکھایا جاتا ہے (مثلاًwait=5→05)۔keyاورaddrUTF-8 متن ہیں، اورreasonASCII متن ہے — یہ سب متغیر لمبائی کے ہیں، ڈھانچے میںNکے طور پر دکھائے جاتے ہیں۔ آخری\n(نئی لائن)0Aکے طور پر فریم کو ختم کرتا ہے۔ فیلڈز بغیر کسی علیحدگی (delimiter) کے یکے بعد دیگرے بھیجے جاتے ہیں۔فکسڈ ہیڈرز (
wait،lease،token،owner) بائنری قدریں ہیں، اس لیے ان میں0x0Aآ سکتا ہے — پارسر کو نئی لائن تلاش کرنے سے پہلے ہر op کے فکسڈ ہیڈر کی لمبائی کے مطابق پہلے کھپانا ہوگا۔ لمبائیاں یہ ہیں: درخواستیںA=10B /R=8B، جواباتA=16B /T·B·R·N=8B /M·L·E=0B۔
فہرست
- ٹرانسپورٹ تہہ
- تصدیقی ہینڈ شیک — کلسٹر کے Raft پورٹ کے ساتھ مشترک ہے، اس لیے یہ پروٹوکول (مشترک) صفحے پر موجود ہے
- درخواستیں
- جوابات
- فیلڈ کی پابندیاں
- درخواست × کلید-حالت میٹرکس
- فینسنگ ٹوکن
- جواب ملانے کے اصول
- مثال سیشن
سرور سے سرور کے درمیان کلسٹر اتفاقِ رائے (Raft) پروٹوکول ایک الگ صفحے پر بیان کیا گیا ہے۔