الأعداد الصحيحة بترتيب big-endian. ·· مجرد علامة لحدود البايت وليست بايتًا فعليًا.
# الحصول الفوري (wait=5s, lease=30s), key="order-1234"
العميل → 'A' 00·05 00·1E "order-1234" \n
الخادم → 'A' 00·00·00·00·00·00·00·01 "order-1234" \n (الرمز 1)
# الانتظار أثناء الاحتلال (اتصال آخر، wait=1s)
العميل2 → 'A' 00·01 00·1E "order-1234" \n
... قيد الانتظار ...
# (a) إذا أرجع المالك فوريًا يتم التسليم
العميل → 'R' "order-1234" \n
الخادم → 'R' "order-1234" \n (العميل: تم الإرجاع)
الخادم → 'A' 00·00·00·00·00·00·00·02 "order-1234" \n (العميل2: تسليم، رمز أكبر)
# (b) إذا لم يتم استلام البيانات خلال wait(1s)
الخادم → 'T' "order-1234" \n (العميل2: انقضاء الوقت — لا إذن)
# إرجاع مفتاح غير موجود / طلب غير صحيح
العميل → 'R' "ghost" \n → الخادم 'N' "ghost" \n
العميل → 'Z' ... → الخادم 'E' "bad_op" \nبما أنه بروتوكول ثنائي (binary)، يمكن أيضًا التحقق منه بسرعة باستخدام nc.
# الحصول: key=order-1, wait=5s(00 05), lease=30s(00 1e)
printf 'A\x00\x05\x00\x1eorder-1\n' | nc -w1 127.0.0.1 5225 | xxd
# → 41 0000000000000001 6f72646572... ('A' + token=1 + "order-1")
printf 'Rorder-1\n' | nc -w1 127.0.0.1 5225 | xxd # → 52 ... ('R' + "order-1")
printf 'Zx\n' | nc -w1 127.0.0.1 5225 # → Ebad_opخادم ↔ خادم بروتوكول نسخ العنقود يُغطّى في البروتوكول (العنقود).