فراخوان دور rpc
JSON-RPC 2.0 و MessagePack-RPC: سرور، کارخواه و ثبت متدها.
واردسازی فراخوان دور
با فراخوان دور یک برنامه متدهای برنامهی دیگر را صدا میزند، انگار روالهای خودشاند. در سمت سرور هر متد را با ثبت متد به یک روال وصل میکنید؛ آن روال شمارهی فراخوان را میگیرد، پارامترها را با پارامتر عددی فراخوان و مانند آن میخواند و با پاسخ ... یا شکست جواب میدهد.
پیامها با کدک جیسون (JSON-RPC 2.0) یا مسگپک رد و بدل میشوند و روی TCP با یکی از سه قاببندی خطی، سرآیندی (مثل LSP) یا طولدار جدا میشوند؛ کارخواه و سرور باید قاببندی یکسانی داشته باشند. پردازش متن همین را بدون شبکه انجام میدهد تا RPC را پشت یک مسیر اچ تی تی پی بگذارید.
گونهها
سرور فراخوان Server
ساختار سرور فراخوان| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| port | port | صحیح = 0 | درگاه؛ صفر یعنی یک درگاه آزاد. |
| codec | codec | صحیح = 0 | کدک. |
| framing | framing | صحیح = 0 | قاببندی. |
| listen_fd | listen_fd | صحیح۶۴ = -1 | سوکت گوش دادن. |
| running | running | منطقی = نادرست | در حال اجرا. |
| served | served | صحیح = 0 | شمار اتصالهای پاسخداده. |
واردسازی فراخوان دور
واردسازی شبکه.تی سی پی شبکه
واردسازی فشرده سازی
روال پژواک(ج: صحیح۶۴):
فراخوان دور.پاسخ دادن(ج، فراخوان دور.پارامترهای فراخوان(ج))
پایان
روال ریشه:
فراخوان دور.ثبت متد("echo"، پژواک)
اگر فراخوان دور.پردازش متن("").طول() == ۰:
_ := فراخوان دور.خدمت ورودی خروجی(فراخوان دور.قاب سرآیندی)
برگشت
پایان
ناپایا س := فراخوان دور.سرور جدید(۴۰۰۰، فراخوان دور.کدک مسگپک)
فراخوان دور.تنظیم قاببندی(س، فراخوان دور.قاب طولدار)
اگر فراخوان دور.گوش دادن(س):
سرچاپ "روی درگاه"، فراخوان دور.درگاه سرور(س)، س.running
فراخوان دور.خدمت(س)
پایان
ا := تی سی پی شبکه.شماره گیری("127.0.0.1"، ۴۰۰۱)
_ := فراخوان دور.خدمت به اتصال(ا.fd، فراخوان دور.کدک جیسون، فراخوان دور.قاب خطی)
ک := تی سی پی شبکه.شماره گیری("127.0.0.1"، ۴۰۰۲)
ناپایا کارخواه := فراخوان دور.کارخواه از توصیفگر(ک.fd، فراخوان دور.کدک جیسون)
سرچاپ فراخوان دور.نتیجه متنی(فراخوان دور.فراخوان بدون پارامتر(کارخواه، "version"))
ناپایا ج := فراخوان دور.جریان جدید(ک.fd)
_ := فراخوان دور.نوشتن قاب متنی(ک.fd، فراخوان دور.قاب خطی، `{"jsonrpc":"2.0","method":"echo","params":[1],"id":1}`)
_ := فراخوان دور.نوشتن قاب(ک.fd، فراخوان دور.قاب خطی، فشرده سازی.بافر از رشته(`{"jsonrpc":"2.0","method":"echo","id":2}`))
ناپایا سالم := نادرست
سرچاپ فراخوان دور.خواندن قاب متنی(ج، فراخوان دور.قاب خطی، سالم)
پاسخ := فراخوان دور.پردازش بار(فراخوان دور.کدک جیسون، فشرده سازی.بافر از رشته(`{"jsonrpc":"2.0","method":"echo","params":[3],"id":3}`))
سرچاپ فشرده سازی.بافر به رشته(پاسخ)
فراخوان دور.آزادسازی جریان(ج)
فراخوان دور.توقف سرور(س)
پایانجریان Stream
ساختار جریان| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| fd | fd | صحیح۶۴ = -1 | سوکت. |
| data | data | compress.ByteBuf | دادهی خواندهشده. |
| pos | pos | صحیح = 0 | جای خواندن. |
| closed | closed | منطقی = نادرست | ورودی تمام شده. |
| has_fd | has_fd | منطقی = نادرست | روی سوکت است. |
واردسازی فراخوان دور
واردسازی فشرده سازی
روال ریشه:
خط := فراخوان دور.قاببندی متن(فراخوان دور.قاب خطی، `{"a":1}`)
سرآیندی := فراخوان دور.قاببندی متن(فراخوان دور.قاب سرآیندی، `{"b":2}`)
طولدار := فراخوان دور.قاببندی(فراخوان دور.قاب طولدار، فشرده سازی.بافر از رشته(`{"c":3}`))
سرچاپ خط.len، سرآیندی.len، طولدار.len
سرچاپ فشرده سازی.بافر به رشته(سرآیندی).طول() > ۰
ناپایا ج := فراخوان دور.جریان حافظه()
فراخوان دور.تغذیه متن(ج، `{"x":1}` + "\n" + `{"x":2}` + "\n")
ناپایا سالم := نادرست
سرچاپ فراخوان دور.خواندن قاب متنی(ج، فراخوان دور.قاب خطی، سالم)، سالم
سرچاپ فراخوان دور.باقیمانده جریان(ج)
سرچاپ فراخوان دور.خواندن قاب متنی(ج، فراخوان دور.قاب خطی، سالم)
_ := فراخوان دور.خواندن قاب متنی(ج، فراخوان دور.قاب خطی، سالم)
سرچاپ سالم، فراخوان دور.جریان بسته(ج)
ناپایا ج۲ := فراخوان دور.جریان حافظه()
فراخوان دور.تغذیه بافر(ج۲، سرآیندی)
فراخوان دور.تغذیه بافر(ج۲، طولدار)
سرچاپ فراخوان دور.خواندن قاب متنی(ج۲، فراخوان دور.قاب سرآیندی، سالم)
ب := فراخوان دور.خواندن قاب(ج۲، فراخوان دور.قاب طولدار، سالم)
سرچاپ فشرده سازی.بافر به رشته(ب)، سالم
سرچاپ فراخوان دور.اندازه تکه خواندن، فراخوان دور.بیشینه اندازه قاب
فراخوان دور.آزادسازی جریان(ج)
فراخوان دور.آزادسازی جریان(ج۲)
پایانکارخواه Client
ساختار کارخواه| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| conn | conn | tcp.Conn | اتصال. |
| stream | stream | جریان | جریان خواندن. |
| codec | codec | صحیح = 0 | کدک. |
| framing | framing | صحیح = 0 | قاببندی. |
| next_id | next_id | صحیح۶۴ = 1 | شناسهی درخواست بعدی. |
| ok | ok | منطقی = نادرست | سالم است. |
| last_error | last_error | رشته = "" | آخرین خطا. |
واردسازی فراخوان دور
واردسازی کدگذاری.مقدار
واردسازی شبکه.اچ تی تی پی شبکه
واردسازی شبکه.مسیریاب شبکه
واردسازی همگام سازی
ناپایا سرور := فراخوان دور.سرور جدید(۰، فراخوان دور.کدک جیسون)
ناپایا آماده := همگام سازی.گروه انتظار جدید()
روال جمع(ج: صحیح۶۴):
فراخوان دور.پاسخ عددی(ج، فراخوان دور.پارامتر عددی فراخوان(ج، "a"، ۰) + فراخوان دور.پارامتر عددی فراخوان(ج، "b"، ۱))
پایان
روال زمان(ج: صحیح۶۴):
فراخوان دور.پاسخ متنی(ج، "12:00")
پایان
روال یادداشت(ج: صحیح۶۴):
فراخوان دور.پاسخ تهی(ج)
پایان
روال اجرای سرور():
_ := فراخوان دور.گوش دادن(سرور)
همگام سازی.اتمام(آماده)
_ := فراخوان دور.خدمت به تعداد(سرور، ۱)
پایان
روال نقطه پایانی(ز: صحیح۶۴):
اچ تی تی پی شبکه.جیسون زمینه(ز، فراخوان دور.پردازش متن(اچ تی تی پی شبکه.بدنه زمینه(ز)))
پایان
روال ریشه:
فراخوان دور.ثبت متد("add"، جمع)
فراخوان دور.ثبت متد("time"، زمان)
فراخوان دور.ثبت متد("note"، یادداشت)
فراخوان دور.تنظیم قاببندی(سرور، فراخوان دور.قاب خطی)
همگام سازی.افزودن(آماده، ۱)
ن := spawn(اجرای سرور)
همگام سازی.انتظار(آماده)
سرچاپ فراخوان دور.درگاه سرور(سرور) > ۰
ناپایا ک := فراخوان دور.اتصال کارخواه("127.0.0.1"، فراخوان دور.درگاه سرور(سرور)، فراخوان دور.کدک جیسون)
فراخوان دور.تنظیم قاببندی کارخواه(ک، فراخوان دور.قاب خطی)
سرچاپ فراخوان دور.کارخواه معتبر(ک)
ناپایا پ := مقدار.آرایه جدید()
مقدار.افزودن به آرایه(پ، مقدار.مقدار صحیح(۲))
مقدار.افزودن به آرایه(پ، مقدار.مقدار صحیح(۴۰))
سرچاپ فراخوان دور.نتیجه عددی(فراخوان دور.فراخوان(ک، "add"، پ))
سرچاپ فراخوان دور.نتیجه متنی(فراخوان دور.فراخوان بدون پارامتر(ک، "time"))
ناپایا آرگ := وکتور {} برگردان وکتور<مقدار.مقدار>
آرگ.افزودن(مقدار.مقدار صحیح(۱))
آرگ.افزودن(مقدار.مقدار صحیح(۲))
سرچاپ فراخوان دور.نتیجه عددی(فراخوان دور.فراخوان با آرگومان(ک، "add"، آرگ))
سرچاپ فراخوان دور.اعلان(ک، "note"، مقدار.آرایه جدید())
ناپایا دسته := وکتور {} برگردان وکتور<فراخوان دور.درخواست>
دسته.افزودن(فراخوان دور.درخواست جدید("add"، پ، ۱۰))
دسته.افزودن(فراخوان دور.درخواست جدید("missing"، مقدار.آرایه جدید()، ۱۱))
پاسخها := فراخوان دور.فراخوان دستهای(ک، دسته)
سرچاپ پاسخها.items.طول()، فراخوان دور.نتیجه عددی(پاسخها.items[۰])
سرچاپ فراخوان دور.پاسخ خطاست(پاسخها.items[۱])، فراخوان دور.کد خطا(پاسخها.items[۱])، فراخوان دور.پیام خطا(پاسخها.items[۱])
فراخوان دور.بستن کارخواه(ک)
سرچاپ فراخوان دور.کارخواه معتبر(ک)، فراخوان دور.خطای کارخواه(ک).طول() >= ۰
join(ن)
فراخوان دور.توقف سرور(سرور)
ناپایا م := مسیریاب شبکه.مسیریاب جدید()
مسیریاب شبکه.ارسال(م، "/rpc"، نقطه پایانی)
ناپایا ه := اچ تی تی پی شبکه.سرور جدید(۱۹۶۱۱)
اچ تی تی پی شبکه.استفاده(ه، م)
_ := اچ تی تی پی شبکه.اجرا در پس زمینه(ه)
ر := فراخوان دور.فراخوان اچ تی تی پی("http://127.0.0.1:19611/rpc"، "add"، پ، ۷)
سرچاپ فراخوان دور.نتیجه عددی(ر)
پایانخطای فراخوان Error
ساختار خطای فراخوان| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| code | code | صحیح = 0 | کد. |
| message | message | رشته = "" | پیام. |
| data | data | value.Value | دادهی اضافه. |
| has_data | has_data | منطقی = نادرست | داده دارد. |
واردسازی فراخوان دور
واردسازی کدگذاری.مقدار
واردسازی فشرده سازی
روال ریشه:
ناپایا پ := مقدار.آرایه جدید()
مقدار.افزودن به آرایه(پ، مقدار.مقدار صحیح(۲))
مقدار.افزودن به آرایه(پ، مقدار.مقدار رشته("سلام"))
مقدار.افزودن به آرایه(پ، مقدار.مقدار اعشاری(۱.۵))
مقدار.افزودن به آرایه(پ، مقدار.مقدار منطقی(درست))
د := فراخوان دور.درخواست جدید("calc"، پ، ۱)
سرچاپ فراخوان دور.کدگذاری درخواست جیسون(د)
سرچاپ فراخوان دور.تعداد پارامتر(د)، فراخوان دور.پارامتر عددی(د، "a"، ۰)، فراخوان دور.پارامتر متنی(د، "b"، ۱)
سرچاپ فراخوان دور.پارامتر اعشاری(د، "c"، ۲)، فراخوان دور.پارامتر بولی(د، "d"، ۳)، فراخوان دور.پارامتر دارد(د، "e"، ۴)
سرچاپ مقدار.به صحیح(فراخوان دور.پارامتر در جایگاه(د، ۰))، مقدار.به صحیح(فراخوان دور.پارامتر(د، "a"، ۰))
ناپایا ش := مقدار.شیء جدید()
مقدار.تنظیم کلید(ش، "name"، مقدار.مقدار رشته("علی"))
د۲ := فراخوان دور.درخواست با شناسه متنی("greet"، ش، "req-1")
سرچاپ فراخوان دور.کدگذاری درخواست جیسون(د۲)
سرچاپ مقدار.به رشته(فراخوان دور.پارامتر نامدار(د۲، "name"))
ا := فراخوان دور.اعلان جدید("tick"، مقدار.آرایه جدید())
سرچاپ فراخوان دور.اعلان است(ا)، فراخوان دور.کدگذاری درخواست جیسون(ا)
ناپایا سالم := نادرست
خ := فراخوان دور.کدگشایی درخواست جیسون(`{"jsonrpc":"2.0","method":"add","params":{"a":1,"b":2},"id":9}`، سالم)
سرچاپ سالم، خ.method، خ.msgid، فراخوان دور.پارامتر عددی(خ، "b"، ۱)
پاسخ := فراخوان دور.پاسخ جدید(مقدار.مقدار صحیح(۱)، مقدار.مقدار رشته("ok"))
سرچاپ فراخوان دور.کدگذاری پاسخ جیسون(پاسخ)
خطا := فراخوان دور.خطای استاندارد(فراخوان دور.کد روش یافت نشد)
سرچاپ خطا.code، خطا.message
سرچاپ فراخوان دور.کدگذاری پاسخ جیسون(فراخوان دور.پاسخ خطا(مقدار.مقدار صحیح(۲)، فراخوان دور.خطای جدید(-۳۲۰۰۰، "سرور مشغول است")))
با داده := فراخوان دور.خطا با داده(فراخوان دور.کد پارامترهای نامعتبر، "بد"، مقدار.مقدار رشته("x"))
سرچاپ با داده.has_data، فراخوان دور.خطای سطح بالای جیسون(فراخوان دور.خطای استاندارد(فراخوان دور.کد خطای تجزیه))
ر := فراخوان دور.کدگشایی پاسخ جیسون(`{"jsonrpc":"2.0","result":3.5,"id":1}`، سالم)
سرچاپ سالم، فراخوان دور.نتیجه اعشاری(ر)، فراخوان دور.پاسخ خطاست(ر)
ر۲ := فراخوان دور.کدگشایی پاسخ جیسون(`{"jsonrpc":"2.0","error":{"code":-32601,"message":"nope"},"id":2}`، سالم)
سرچاپ فراخوان دور.پاسخ خطاست(ر۲)، فراخوان دور.کد خطا(ر۲)، فراخوان دور.پیام خطا(ر۲)
همه := فراخوان دور.کدگشایی پاسخهای جیسون(`[{"jsonrpc":"2.0","result":true,"id":1},{"jsonrpc":"2.0","result":"x","id":2}]`، سالم)
سرچاپ همه.is_batch، همه.items.طول()، فراخوان دور.نتیجه بولی(همه.items[۰])، فراخوان دور.نتیجه متنی(همه.items[۱])
سرچاپ فراخوان دور.کدگذاری پاسخهای جیسون(همه)
سرچاپ فراخوان دور.نام کدک(فراخوان دور.کدک جیسون)، فراخوان دور.نام کدک(فراخوان دور.کدک مسگپک)
سرچاپ فراخوان دور.قاببندی پیشفرض کدک(فراخوان دور.کدک جیسون) == فراخوان دور.قاب خطی، فراخوان دور.قاببندی پیشفرض کدک(فراخوان دور.کدک مسگپک) == فراخوان دور.قاب طولدار
م := فراخوان دور.کدگذاری درخواست(فراخوان دور.کدک مسگپک، د)
سرچاپ م.len، فشرده سازی.دریافت بایت(م، ۰)
دسته := فراخوان دور.کدگشایی دسته(فراخوان دور.کدک مسگپک، م)
سرچاپ دسته.ok، دسته.items[۰].method، دسته.items[۰].msgid
سرچاپ فراخوان دور.کدگشایی دسته مسگپک(فراخوان دور.کدگذاری درخواست مسگپک(د)).items[۰].method
مپ := فراخوان دور.کدگذاری پاسخ مسگپک(فراخوان دور.پاسخ جدید(مقدار.مقدار صحیح(۱)، مقدار.مقدار صحیح(۴۲)))
سرچاپ فراخوان دور.نتیجه عددی(فراخوان دور.کدگشایی پاسخ مسگپک(مپ، سالم))، سالم
ج := فراخوان دور.کدگذاری درخواست(فراخوان دور.کدک جیسون، د)
سرچاپ فراخوان دور.نتیجه عددی(فراخوان دور.کدگشایی پاسخ(فراخوان دور.کدک مسگپک، مپ، سالم))، ج.len > ۰
سرچاپ فشرده سازی.بافر به رشته(فراخوان دور.کدگذاری پاسخها(فراخوان دور.کدک جیسون، همه)).طول() > ۰
سرچاپ فشرده سازی.بافر به رشته(فراخوان دور.کدگذاری خطای سطح بالا(فراخوان دور.کدک جیسون، خطا))
سرچاپ فراخوان دور.نوع درخواست مسگپک، فراخوان دور.نوع پاسخ مسگپک، فراخوان دور.نوع اعلان مسگپک
سرچاپ فراخوان دور.کد درخواست نامعتبر، فراخوان دور.کد خطای داخلی، فراخوان دور.کد خطای کارساز
سرچاپ فراخوان دور.نوع درخواست، فراخوان دور.نوع اعلان، فراخوان دور.نوع پاسخ
سرچاپ فشرده سازی.بافر به رشته(فشرده سازی.بافر از رشته(فراخوان دور.کدگذاری درخواست جیسون(د))).طول() > ۰
پایاندرخواست Request
ساختار درخواست| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| method | method | رشته = "" | نام متد. |
| params | params | value.Value | پارامترها: آرایه یا شیء. |
| has_params | has_params | منطقی = نادرست | پارامتر دارد. |
| id | id | value.Value | شناسه؛ عدد یا رشته. |
| has_id | has_id | منطقی = نادرست | شناسه دارد؛ بدون آن اعلان است. |
| msgid | msgid | صحیح۶۴ = 0 | شناسهی عددی. |
| err_code | err_code | صحیح = 0 | اگر درخواست خوانده نشد، کد خطا. |
| err_message | err_message | رشته = "" | پیام آن خطا. |
واردسازی فراخوان دور
واردسازی کدگذاری.مقدار
روال جمع(ج: صحیح۶۴):
الف := فراخوان دور.پارامتر عددی فراخوان(ج، "a"، ۰)
ب := فراخوان دور.پارامتر عددی فراخوان(ج، "b"، ۱)
فراخوان دور.پاسخ عددی(ج، الف + ب)
پایان
روال تقسیم(ج: صحیح۶۴):
مقسومعلیه := فراخوان دور.پارامتر اعشاری فراخوان(ج، "b"، ۱)
اگر مقسومعلیه == ۰.۰:
فراخوان دور.پارامتر نامعتبر(ج، "تقسیم بر صفر")
برگشت
پایان
فراخوان دور.پاسخ اعشاری(ج، فراخوان دور.پارامتر اعشاری فراخوان(ج، "a"، ۰) / مقسومعلیه)
پایان
روال سلام(ج: صحیح۶۴):
نام := فراخوان دور.پارامتر متنی فراخوان(ج، "name"، ۰)
اگر نام.طول() == ۰:
فراخوان دور.شکست(ج، -۳۲۰۰۱، "نام لازم است")
برگشت
پایان
فراخوان دور.پاسخ متنی(ج، "سلام " + نام)
پایان
روال وضعیت(ج: صحیح۶۴):
ناپایا ش := مقدار.آرایه جدید()
مقدار.افزودن به آرایه(ش، مقدار.مقدار رشته(فراخوان دور.نام متد فراخوان(ج)))
مقدار.افزودن به آرایه(ش، مقدار.مقدار صحیح(فراخوان دور.تعداد پارامتر فراخوان(ج)))
مقدار.افزودن به آرایه(ش، مقدار.مقدار منطقی(فراخوان دور.پارامتر بولی فراخوان(ج، "verbose"، ۰)))
فراخوان دور.پاسخ دادن(ج، ش)
پایان
روال ثبت رویداد(ج: صحیح۶۴):
سرچاپ "رویداد:"، مقدار.به رشته(فراخوان دور.پارامتر فراخوان(ج، "event"، ۰))، فراخوان دور.فراخوان اعلان است(ج)
_ := فراخوان دور.پارامترهای فراخوان(ج)
_ := فراخوان دور.درخواست فراخوان(ج)
فراخوان دور.پاسخ تهی(ج)
پایان
روال ممنوع(ج: صحیح۶۴):
فراخوان دور.شکست با داده(ج، -۳۲۰۰۳، "دسترسی ندارید"، مقدار.مقدار رشته("admin"))
پایان
روال همیشه(ج: صحیح۶۴):
فراخوان دور.پاسخ بولی(ج، درست)
پایان
روال ریشه:
فراخوان دور.ثبت متد با توضیح("add"، جمع، "جمع دو عدد")
فراخوان دور.ثبت متد("divide"، تقسیم)
فراخوان دور.ثبت متد("hello"، سلام)
فراخوان دور.ثبت متد("status"، وضعیت)
فراخوان دور.ثبت متد("log"، ثبت رویداد)
فراخوان دور.ثبت متد("admin"، ممنوع)
فراخوان دور.ثبت متد("ping"، همیشه)
سرچاپ فراخوان دور.تعداد متدها()، فراخوان دور.متد دارد("add")، فراخوان دور.توضیح متد("add")
سرچاپ فراخوان دور.فهرست متدها().طول()
سرچاپ فراخوان دور.پردازش متن(`{"jsonrpc":"2.0","method":"add","params":[2,40],"id":1}`)
سرچاپ فراخوان دور.پردازش متن(`{"jsonrpc":"2.0","method":"add","params":{"a":5,"b":6},"id":2}`)
سرچاپ فراخوان دور.پردازش متن(`{"jsonrpc":"2.0","method":"divide","params":[1,0],"id":3}`)
سرچاپ فراخوان دور.پردازش متن(`{"jsonrpc":"2.0","method":"hello","params":["مریم"],"id":"x"}`)
سرچاپ فراخوان دور.پردازش متن(`{"jsonrpc":"2.0","method":"hello","params":[],"id":4}`)
سرچاپ فراخوان دور.پردازش متن(`{"jsonrpc":"2.0","method":"status","params":{"verbose":true},"id":5}`)
سرچاپ فراخوان دور.پردازش متن(`{"jsonrpc":"2.0","method":"admin","id":6}`)
سرچاپ فراخوان دور.پردازش متن(`{"jsonrpc":"2.0","method":"nope","id":7}`)
سرچاپ فراخوان دور.پردازش متن(`{"jsonrpc":"2.0","method":"log","params":{"event":"start"}}`).طول()
سرچاپ فراخوان دور.پردازش متن(`[{"jsonrpc":"2.0","method":"ping","id":8},{"jsonrpc":"2.0","method":"add","params":[1,1],"id":9}]`)
سرچاپ فراخوان دور.پردازش متن(`{"jsonrpc":`)
ناپایا سالم := نادرست
د := فراخوان دور.کدگشایی درخواست جیسون(`{"jsonrpc":"2.0","method":"add","params":[20,22],"id":10}`، سالم)
پ := فراخوان دور.اجرای درخواست(د)
سرچاپ فراخوان دور.نتیجه عددی(پ)
دسته := فراخوان دور.کدگشایی دسته جیسون(`[{"jsonrpc":"2.0","method":"ping","id":1}]`)
سرچاپ فراخوان دور.اجرای دسته(دسته).items.طول()
سرچاپ فراخوان دور.حذف متد("ping")، فراخوان دور.متد دارد("ping")
فراخوان دور.بازنشانی ثبت()
سرچاپ فراخوان دور.تعداد متدها()
پایانپاسخ Response
ساختار پاسخ| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| id | id | value.Value | شناسهی درخواست. |
| has_id | has_id | منطقی = نادرست | شناسه دارد. |
| result | result | value.Value | نتیجه. |
| is_error | is_error | منطقی = نادرست | خطاست. |
| err | err | خطای فراخوان | خطا. |
| msgid | msgid | صحیح۶۴ = 0 | شناسهی عددی. |
نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
دسته Batch
ساختار دسته| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| items | items | وکتور<درخواست> | درخواستها. |
| is_batch | is_batch | منطقی = نادرست | به شکل آرایه آمده بود. |
| ok | ok | منطقی = درست | درست خوانده شد. |
| err | err | خطای فراخوان | اگر نه، خطا. |
نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پاسخها Responses
ساختار پاسخها| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| items | items | وکتور<پاسخ> | پاسخها. |
| is_batch | is_batch | منطقی = نادرست | به شکل آرایه فرستاده شود. |
نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
متد Method
ساختار متد| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| name | name | رشته = "" | نام. |
| fn | fn | صحیح۶۴ = 0 | روال. |
| doc | doc | رشته = "" | توضیح. |
نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
جدول متدها MethodTable
ساختار جدول متدها| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| items | items | وکتور<متد> | متدها. |
نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
جایگاه فراخوان CallSlot
ساختار جایگاه فراخوان| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| req | req | درخواست | درخواست. |
| result | result | value.Value | نتیجه. |
| err | err | خطای فراخوان | خطا. |
| is_error | is_error | منطقی = نادرست | خطاست. |
| replied | replied | منطقی = نادرست | پاسخ داده شده. |
| busy | busy | منطقی = نادرست | در استفاده. |
نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
جدول جایگاهها SlotTable
ساختار جدول جایگاهها| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| items | items | وکتور<جایگاه فراخوان> | فراخوانها. |
نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پایاها و متغیرها
نوع درخواست مسگپک RPC_MP_REQUEST
پایا نوع درخواست مسگپک: صحیح۳۲ = 0نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
نوع پاسخ مسگپک RPC_MP_RESPONSE
پایا نوع پاسخ مسگپک: صحیح۳۲ = 1نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
نوع اعلان مسگپک RPC_MP_NOTIFY
پایا نوع اعلان مسگپک: صحیح۳۲ = 2نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
اندازه تکه خواندن RPC_READ_CHUNK
پایا اندازه تکه خواندن: صحیح۳۲ = 4096نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Frames.salam
بیشینه اندازه قاب RPC_MAX_FRAME
پایا بیشینه اندازه قاب: صحیح۳۲ = 33554432نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Frames.salam
کد خطای تجزیه RPC_PARSE_ERROR
پایا کد خطای تجزیه: صحیح۳۲ = -32700نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کد درخواست نامعتبر RPC_INVALID_REQUEST
پایا کد درخواست نامعتبر: صحیح۳۲ = -32600نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کد روش یافت نشد RPC_METHOD_NOT_FOUND
پایا کد روش یافت نشد: صحیح۳۲ = -32601نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کد پارامترهای نامعتبر RPC_INVALID_PARAMS
پایا کد پارامترهای نامعتبر: صحیح۳۲ = -32602نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کد خطای داخلی RPC_INTERNAL_ERROR
پایا کد خطای داخلی: صحیح۳۲ = -32603نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کد خطای کارساز RPC_SERVER_ERROR
پایا کد خطای کارساز: صحیح۳۲ = -32000نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
نوع درخواست RPC_KIND_REQUEST
پایا نوع درخواست: صحیح۳۲ = 1نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
نوع اعلان RPC_KIND_NOTIFICATION
پایا نوع اعلان: صحیح۳۲ = 2نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
نوع پاسخ RPC_KIND_RESPONSE
پایا نوع پاسخ: صحیح۳۲ = 3نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کدک جیسون RPC_CODEC_JSON
پایا کدک جیسون: صحیح۳۲ = 0نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کدک مسگپک RPC_CODEC_MSGPACK
پایا کدک مسگپک: صحیح۳۲ = 1نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
قاب خطی RPC_FRAME_LINE
پایا قاب خطی: صحیح۳۲ = 0نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
قاب سرآیندی RPC_FRAME_HEADER
پایا قاب سرآیندی: صحیح۳۲ = 1Content-Length، مثل LSP.نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Frames.salam
قاب طولدار RPC_FRAME_LENGTH
پایا قاب طولدار: صحیح۳۲ = 2نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
روالها
کدگذاری درخواست جیسون JsonEncodeRequest
روال کدگذاری درخواست جیسون(r: درخواست): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کدگذاری پاسخ جیسون JsonEncodeResponse
روال کدگذاری پاسخ جیسون(r: پاسخ): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کدگذاری پاسخهای جیسون JsonEncodeResponses
روال کدگذاری پاسخهای جیسون(rs: پاسخها): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کدگشایی دسته جیسون JsonDecodeBatch
روال کدگشایی دسته جیسون(text: رشته): دستهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
کدگشایی درخواست جیسون JsonDecodeRequest
روال کدگشایی درخواست جیسون(text: رشته، ok &: منطقی): درخواستنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
کدگشایی پاسخ جیسون JsonDecodeResponse
روال کدگشایی پاسخ جیسون(text: رشته، ok &: منطقی): پاسخنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کدگشایی پاسخهای جیسون JsonDecodeResponses
روال کدگشایی پاسخهای جیسون(text: رشته، ok &: منطقی): پاسخهانمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
خطای سطح بالای جیسون JsonTopLevelError
روال خطای سطح بالای جیسون(e: خطای فراخوان): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
ثبت متد Register
روال ثبت متد(name: رشته، fn: صحیح۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
ثبت متد با توضیح RegisterDoc
روال ثبت متد با توضیح(name: رشته، fn: صحیح۶۴، doc: رشته)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
حذف متد Unregister
روال حذف متد(name: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
متد دارد HasMethod
روال متد دارد(name: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
تعداد متدها MethodCount
روال تعداد متدها(): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
فهرست متدها ListMethods
روال فهرست متدها(): وکتور<رشته>نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
توضیح متد MethodDoc
روال توضیح متد(name: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
بازنشانی ثبت ResetRegistry
روال بازنشانی ثبت()نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
درخواست فراخوان CallRequest
روال درخواست فراخوان(slot: صحیح۶۴): درخواستنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
نام متد فراخوان CallMethodName
روال نام متد فراخوان(slot: صحیح۶۴): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پارامترهای فراخوان CallParams
روال پارامترهای فراخوان(slot: صحیح۶۴): value.Valueنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
فراخوان اعلان است CallIsNotification
روال فراخوان اعلان است(slot: صحیح۶۴): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
تعداد پارامتر فراخوان CallParamCount
روال تعداد پارامتر فراخوان(slot: صحیح۶۴): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پارامتر فراخوان CallParam
روال پارامتر فراخوان(slot: صحیح۶۴، key: رشته، pos: صحیح): value.Valueنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پارامتر عددی فراخوان CallParamInt
روال پارامتر عددی فراخوان(slot: صحیح۶۴، key: رشته، pos: صحیح): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پارامتر اعشاری فراخوان CallParamFloat
روال پارامتر اعشاری فراخوان(slot: صحیح۶۴، key: رشته، pos: صحیح): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پارامتر متنی فراخوان CallParamStr
روال پارامتر متنی فراخوان(slot: صحیح۶۴، key: رشته، pos: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پارامتر بولی فراخوان CallParamBool
روال پارامتر بولی فراخوان(slot: صحیح۶۴، key: رشته، pos: صحیح): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پاسخ دادن Reply
روال پاسخ دادن(slot: صحیح۶۴، result: value.Value)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پاسخ عددی ReplyInt
روال پاسخ عددی(slot: صحیح۶۴، n: صحیح۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پاسخ اعشاری ReplyFloat
روال پاسخ اعشاری(slot: صحیح۶۴، n: اعشار۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پاسخ متنی ReplyStr
روال پاسخ متنی(slot: صحیح۶۴، s: رشته)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پاسخ بولی ReplyBool
روال پاسخ بولی(slot: صحیح۶۴، b: منطقی)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پاسخ تهی ReplyNull
روال پاسخ تهی(slot: صحیح۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
شکست Fail
روال شکست(slot: صحیح۶۴، code: صحیح، message: رشته)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
شکست با داده FailWithData
روال شکست با داده(slot: صحیح۶۴، code: صحیح، message: رشته، data: value.Value)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پارامتر نامعتبر FailInvalidParams
روال پارامتر نامعتبر(slot: صحیح۶۴، message: رشته)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
اجرای درخواست Invoke
روال اجرای درخواست(req: درخواست): پاسخنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
سرور جدید NewServer
روال سرور جدید(port: صحیح، codec: صحیح): سرور فراخواننمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Client.salam
تنظیم قاببندی SetFraming
روال تنظیم قاببندی(s &: سرور فراخوان، framing: صحیح)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Client.salam
اجرای دسته InvokeBatch
روال اجرای دسته(b: دسته): پاسخهانمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پردازش بار HandlePayload
روال پردازش بار(codec: صحیح، payload: compress.ByteBuf): compress.ByteBufنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Serve.salam
پردازش متن HandleText
روال پردازش متن(text: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
خدمت به اتصال ServeConn
روال خدمت به اتصال(fd: صحیح۶۴، codec: صحیح، framing: صحیح): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Serve.salam
گوش دادن Listen
روال گوش دادن(s &: سرور فراخوان): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Client.salam
درگاه سرور Port
روال درگاه سرور(s: سرور فراخوان): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Client.salam
خدمت به تعداد ServeCount
روال خدمت به تعداد(s &: سرور فراخوان، n: صحیح): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Client.salam
خدمت Serve
روال خدمت(s &: سرور فراخوان)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Client.salam
توقف سرور StopServer
روال توقف سرور(s &: سرور فراخوان)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Client.salam
خدمت ورودی خروجی ServeStdio
روال خدمت ورودی خروجی(framing: صحیح): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Serve.salam
کدگذاری درخواست مسگپک MsgpackEncodeRequest
روال کدگذاری درخواست مسگپک(r: درخواست): compress.ByteBufنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کدگذاری پاسخ مسگپک MsgpackEncodeResponse
روال کدگذاری پاسخ مسگپک(r: پاسخ): compress.ByteBufنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کدگشایی دسته مسگپک MsgpackDecodeBatch
روال کدگشایی دسته مسگپک(b: compress.ByteBuf): دستهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کدگشایی پاسخ مسگپک MsgpackDecodeResponse
روال کدگشایی پاسخ مسگپک(b: compress.ByteBuf، ok &: منطقی): پاسخنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
جریان جدید NewStream
روال جریان جدید(fd: صحیح۶۴): جریاننمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Serve.salam
جریان حافظه NewMemStream
روال جریان حافظه(): جریاننمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Frames.salam
آزادسازی جریان FreeStream
روال آزادسازی جریان(s &: جریان)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Frames.salam
تغذیه متن FeedStr
روال تغذیه متن(s &: جریان، text: رشته)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Frames.salam
تغذیه بافر FeedBuf
روال تغذیه بافر(s &: جریان، b: compress.ByteBuf)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Frames.salam
باقیمانده جریان StreamPending
روال باقیمانده جریان(s: جریان): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Frames.salam
جریان بسته StreamClosed
روال جریان بسته(s: جریان): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Frames.salam
قاببندی FrameEncode
روال قاببندی(kind: صحیح، payload: compress.ByteBuf): compress.ByteBufنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
قاببندی متن FrameEncodeStr
روال قاببندی متن(kind: صحیح، payload: رشته): compress.ByteBufنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Frames.salam
خواندن قاب ReadFrame
روال خواندن قاب(s &: جریان، kind: صحیح، ok &: منطقی): compress.ByteBufنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Frames.salam
خواندن قاب متنی ReadFrameStr
روال خواندن قاب متنی(s &: جریان، kind: صحیح، ok &: منطقی): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Frames.salam
نوشتن قاب WriteFrame
روال نوشتن قاب(fd: صحیح۶۴، kind: صحیح، payload: compress.ByteBuf): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Serve.salam
نوشتن قاب متنی WriteFrameStr
روال نوشتن قاب متنی(fd: صحیح۶۴، kind: صحیح، payload: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Serve.salam
اتصال کارخواه DialClient
روال اتصال کارخواه(host: رشته، port: صحیح، codec: صحیح): کارخواهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Client.salam
کارخواه از توصیفگر ClientFromFd
روال کارخواه از توصیفگر(fd: صحیح۶۴، codec: صحیح): کارخواهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Serve.salam
تنظیم قاببندی کارخواه ClientSetFraming
روال تنظیم قاببندی کارخواه(c &: کارخواه، framing: صحیح)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Client.salam
کارخواه معتبر ClientOk
روال کارخواه معتبر(c: کارخواه): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Client.salam
خطای کارخواه ClientError
روال خطای کارخواه(c: کارخواه): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Client.salam
بستن کارخواه CloseClient
روال بستن کارخواه(c &: کارخواه)نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Client.salam
فراخوان Call
روال فراخوان(c &: کارخواه، method: رشته، params: value.Value): پاسخنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
فراخوان بدون پارامتر CallNoParams
روال فراخوان بدون پارامتر(c &: کارخواه، method: رشته): پاسخنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Client.salam
فراخوان با آرگومان CallArgs
روال فراخوان با آرگومان(c &: کارخواه، method: رشته، args: وکتور<value.Value>): پاسخنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Client.salam
اعلان Notify
روال اعلان(c &: کارخواه، method: رشته، params: value.Value): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
فراخوان دستهای CallBatch
روال فراخوان دستهای(c &: کارخواه، reqs: وکتور<درخواست>): پاسخهانمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Client.salam
نتیجه عددی ResultInt
روال نتیجه عددی(r: پاسخ): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
نتیجه اعشاری ResultFloat
روال نتیجه اعشاری(r: پاسخ): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
نتیجه متنی ResultStr
روال نتیجه متنی(r: پاسخ): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
نتیجه بولی ResultBool
روال نتیجه بولی(r: پاسخ): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
پاسخ خطاست IsErrorResponse
روال پاسخ خطاست(r: پاسخ): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کد خطا ErrorCode
روال کد خطا(r: پاسخ): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
پیام خطا ErrorMessage
روال پیام خطا(r: پاسخ): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
فراخوان اچ تی تی پی CallHTTP
روال فراخوان اچ تی تی پی(url: رشته، method: رشته، params: value.Value، id: صحیح۶۴): پاسخنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Client.salam
خطای جدید NewError
روال خطای جدید(code: صحیح، message: رشته): خطای فراخواننمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
خطای استاندارد StdError
روال خطای استاندارد(code: صحیح): خطای فراخواننمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
خطا با داده ErrorWithData
روال خطا با داده(code: صحیح، message: رشته، data: value.Value): خطای فراخواننمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
درخواست جدید NewRequest
روال درخواست جدید(method: رشته، params: value.Value، id: صحیح۶۴): درخواستنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
درخواست با شناسه متنی NewRequestStrId
روال درخواست با شناسه متنی(method: رشته، params: value.Value، id: رشته): درخواستنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
اعلان جدید NewNotification
روال اعلان جدید(method: رشته، params: value.Value): درخواستنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
اعلان است IsNotification
روال اعلان است(r: درخواست): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پاسخ جدید NewResponse
روال پاسخ جدید(id: value.Value، result: value.Value): پاسخنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
پاسخ خطا NewErrorResponse
روال پاسخ خطا(id: value.Value، e: خطای فراخوان): پاسخنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
تعداد پارامتر ParamCount
روال تعداد پارامتر(r: درخواست): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پارامتر در جایگاه ParamAt
روال پارامتر در جایگاه(r: درخواست، i: صحیح): value.Valueنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
پارامتر نامدار ParamNamed
روال پارامتر نامدار(r: درخواست، key: رشته): value.Valueنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
پارامتر Param
روال پارامتر(r: درخواست، key: رشته، pos: صحیح): value.Valueنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پارامتر عددی ParamInt
روال پارامتر عددی(r: درخواست، key: رشته، pos: صحیح): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پارامتر اعشاری ParamFloat
روال پارامتر اعشاری(r: درخواست، key: رشته، pos: صحیح): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پارامتر متنی ParamStr
روال پارامتر متنی(r: درخواست، key: رشته، pos: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پارامتر بولی ParamBool
روال پارامتر بولی(r: درخواست، key: رشته، pos: صحیح): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
پارامتر دارد HasParam
روال پارامتر دارد(r: درخواست، key: رشته، pos: صحیح): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
نام کدک CodecName
روال نام کدک(codec: صحیح): رشتهjson-rpc-2.0.نمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
قاببندی پیشفرض کدک CodecDefaultFraming
روال قاببندی پیشفرض کدک(codec: صحیح): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کدگذاری درخواست EncodeRequest
روال کدگذاری درخواست(codec: صحیح، r: درخواست): compress.ByteBufنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کدگذاری پاسخها EncodeResponses
روال کدگذاری پاسخها(codec: صحیح، rs: پاسخها): compress.ByteBufنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کدگشایی دسته DecodeBatch
روال کدگشایی دسته(codec: صحیح، payload: compress.ByteBuf): دستهنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Methods.salam
کدگشایی پاسخ DecodeResponse
روال کدگشایی پاسخ(codec: صحیح، payload: compress.ByteBuf، ok &: منطقی): پاسخنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam
کدگذاری خطای سطح بالا EncodeTopLevelError
روال کدگذاری خطای سطح بالا(codec: صحیح، e: خطای فراخوان): compress.ByteBufنمونهی این مورد همراه با موارد بالاتر آمده است: rpc-Messages.salam