اچ تی تی پی۲ net/http2
پروتکل HTTP/2 از پایه: قابها، فشردهسازی سرآیند HPACK و جریانها.
واردسازی شبکه.اچ تی تی پی۲
این بسته HTTP/2 را در سطح پروتکل پیاده میکند: قابها را میسازد و میخواند، سرآیندها را با HPACK فشرده میکند و چند درخواست را همزمان روی یک اتصال به شکل «جریان» پیش میبرد. برای ساختن یک سرور وب معمولی اچ تی تی پی شبکه سادهتر است؛ این بسته برای وقتی است که خود پروتکل را لازم دارید.
روند کار: یک ترابری روی سوکت TCP یا TLS بسازید، با اتصال جدید اتصال بگیرید و دستدهی کنید. بعد کارخواه با ارسال سرآیندها درخواست میفرستد و با انتظار اتمام جریان پاسخ را در جریان با شناسه میخواند. روی TLS، کارخواه و سرور باید با ALPN روی h2 توافق کرده باشند.
گونهها
جریان اچ تی تی پی Stream
ساختار جریان اچ تی تی پی| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| id | id | صحیح = 0 | شناسه؛ فرد برای جریانهایی که کارخواه باز میکند. |
| state | state | صحیح = 0 | وضعیت، یکی از ثابتهای جریان .... |
| send_window | send_window | صحیح = 65535 | پنجرهی فرستادن. |
| recv_window | recv_window | صحیح = 65535 | پنجرهی دریافت. |
| headers | headers | فهرست سرآیندها | سرآیندهای دریافتشده. |
| trailers | trailers | فهرست سرآیندها | سرآیندهای پایانی دریافتشده. |
| data | data | compress.ByteBuf | بدنهی دریافتشده. |
| got_headers | got_headers | منطقی = نادرست | سرآیندها رسیدهاند. |
| got_trailers | got_trailers | منطقی = نادرست | سرآیندهای پایانی رسیدهاند. |
| end_stream | end_stream | منطقی = نادرست | طرف مقابل جریان را تمام کرده. |
| reset | reset | منطقی = نادرست | جریان با قاب بازنشانی بسته شد. |
| error_code | error_code | صحیح = 0 | کد خطای بازنشانی. |
| live | live | منطقی = نادرست | این خانهی جدول در استفاده است. |
واردسازی شبکه.اچ تی تی پی۲
واردسازی شبکه.تی سی پی شبکه
واردسازی فشرده سازی
ناپایا سرور := تی سی پی شبکه.سرور {}
روال پاسخگو():
ا := تی سی پی شبکه.پذیرش(سرور)
ناپایا ک := اچ تی تی پی۲.اتصال جدید(اچ تی تی پی۲.ترابری ساده(ا.fd)، درست)
اگر وارونه اچ تی تی پی۲.دستدهی سرور(ک):
برگشت
پایان
شناسه := اچ تی تی پی۲.انتظار سرآیند(ک، ۲۰)
ج := اچ تی تی پی۲.جریان با شناسه(ک، شناسه)
ناپایا سر := اچ تی تی پی۲.فهرست سرآیندها {}
اچ تی تی پی۲.افزودن سرآیند(سر، ":status"، "200")
اچ تی تی پی۲.افزودن سرآیند(سر، "content-type"، "text/plain")
_ := اچ تی تی پی۲.ارسال سرآیندها(ک، شناسه، سر، نادرست)
_ := اچ تی تی پی۲.ارسال داده(ک، شناسه، فشرده سازی.بافر از رشته("سلام " + اچ تی تی پی۲.دریافت سرآیند(ج.headers، ":path"))، نادرست)
ناپایا دنباله := اچ تی تی پی۲.فهرست سرآیندها {}
اچ تی تی پی۲.افزودن سرآیند(دنباله، "x-done"، "1")
_ := اچ تی تی پی۲.ارسال دنبالهها(ک، شناسه، دنباله)
_ := اچ تی تی پی۲.انتظار اتمام جریان(ک، ۰، ۵)
اچ تی تی پی۲.بستن اتصال(ک)
پایان
روال ریشه:
سرور = تی سی پی شبکه.پیوند(۰)
ن := spawn(پاسخگو)
ا := تی سی پی شبکه.شماره گیری("127.0.0.1"، تی سی پی شبکه.درگاه(سرور))
ت := اچ تی تی پی۲.ترابری ساده(ا.fd)
سرچاپ ت.ok، ت.kind == اچ تی تی پی۲.انتقال ساده
ناپایا ک := اچ تی تی پی۲.اتصال جدید(ت، نادرست)
سرچاپ اچ تی تی پی۲.دستدهی کارخواه(ک)، اچ تی تی پی۲.اتصال معتبر(ک)
شناسه := اچ تی تی پی۲.شناسه جریان بعدی(ک)
ناپایا سر := اچ تی تی پی۲.فهرست سرآیندها {}
اچ تی تی پی۲.افزودن سرآیند(سر، ":method"، "GET")
اچ تی تی پی۲.افزودن سرآیند(سر، ":scheme"، "http")
اچ تی تی پی۲.افزودن سرآیند(سر، ":path"، "/books")
اچ تی تی پی۲.افزودن سرآیند(سر، ":authority"، "127.0.0.1")
سرچاپ شناسه، اچ تی تی پی۲.ارسال سرآیندها(ک، شناسه، سر، درست)
سرچاپ اچ تی تی پی۲.انتظار اتمام جریان(ک، شناسه، ۲۰)
ج := اچ تی تی پی۲.جریان با شناسه(ک، شناسه)
سرچاپ اچ تی تی پی۲.دریافت سرآیند(ج.headers، ":status")، فشرده سازی.بافر به رشته(ج.data)، ج.got_trailers، اچ تی تی پی۲.دریافت سرآیند(ج.trailers، "x-done")، ج.end_stream
سرچاپ اچ تی تی پی۲.تعداد جریانها(ک) >= ۱، ک.remote.max_frame_size
_ := اچ تی تی پی۲.ارسال پینگ(ک، فشرده سازی.بافر از رشته("abcdefgh"))
سرچاپ اچ تی تی پی۲.دریافت رویداد(ک) >= اچ تی تی پی۲.نتیجه اتصال
_ := اچ تی تی پی۲.ارسال بازنشانی جریان(ک، اچ تی تی پی۲.شناسه جریان بعدی(ک)، اچ تی تی پی۲.کد لغو)
سرچاپ اچ تی تی پی۲.ارسال خداحافظی(ک، اچ تی تی پی۲.کد بدون خطا، "")
اچ تی تی پی۲.بستن اتصال(ک)
join(ن)
تی سی پی شبکه.بستن سرور(سرور)
پایانجدول جریانها StreamTable
ساختار جدول جریانها| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| items | items | وکتور<جریان اچ تی تی پی> | جریانها. |
نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
اتصال اچ تی تی پی۲ Conn
ساختار اتصال اچ تی تی پی۲| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| tx | tx | ترابری | ترابری زیرین. |
| is_server | is_server | منطقی = نادرست | این سو سرور است. |
| enc | enc | جدول پویا | جدول HPACK برای فرستادن. |
| dec | dec | جدول پویا | جدول HPACK برای دریافت. |
| local | local | تنظیمات | تنظیمات این سو. |
| remote | remote | تنظیمات | تنظیمات طرف مقابل، پس از دستدهی. |
| next_id | next_id | صحیح = 1 | شناسهی جریان بعدی. |
| streams | streams | جدول جریانها | جریانها. |
| send_window | send_window | صحیح = 65535 | پنجرهی فرستادن اتصال. |
| recv_window | recv_window | صحیح = 65535 | پنجرهی دریافت اتصال. |
| goaway | goaway | منطقی = نادرست | قاب پایان رسیده یا فرستاده شده. |
| last_error | last_error | صحیح = 0 | آخرین کد خطا. |
| ok | ok | منطقی = نادرست | اتصال سالم است. |
| pending_stream | pending_stream | صحیح = 0 | جریانی که بلوک سرآیندش هنوز با قاب ادامه کامل نشده. |
| pending_block | pending_block | compress.ByteBuf | بخشهای رسیدهی آن بلوک. |
| pending_end_stream | pending_end_stream | منطقی = نادرست | آن سرآیندها جریان را تمام میکنند. |
| pending_trailers | pending_trailers | منطقی = نادرست | آن سرآیندها پایانیاند. |
نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
قاب Frame
ساختار قاب| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| kind | kind | صحیح = 0 | نوع قاب، یکی از ثابتهای قاب .... |
| flags | flags | صحیح = 0 | پرچمها. |
| stream_id | stream_id | صحیح = 0 | شناسهی جریان؛ صفر یعنی کل اتصال. |
| payload | payload | compress.ByteBuf | بار قاب. |
| ok | ok | منطقی = نادرست | قاب درست خوانده شد. |
واردسازی شبکه.اچ تی تی پی۲
واردسازی فشرده سازی
روال ریشه:
ناپایا ت := اچ تی تی پی۲.تنظیمات پیشفرض()
سرچاپ ت.header_table_size، ت.initial_window_size، ت.max_frame_size، ت.enable_push
ق := اچ تی تی پی۲.ساخت قاب تنظیمات(ت)
سرچاپ اچ تی تی پی۲.نام نوع قاب(ق.kind)، ق.stream_id، ق.payload.len
ت.max_frame_size = ۳۲۷۶۸
سرچاپ اچ تی تی پی۲.اعمال تنظیمات(ت، اچ تی تی پی۲.ساخت قاب تنظیمات(اچ تی تی پی۲.تنظیمات پیشفرض()))، ت.max_frame_size
تایید := اچ تی تی پی۲.ساخت تایید تنظیمات()
سرچاپ اچ تی تی پی۲.قاب پرچم دارد(تایید، اچ تی تی پی۲.پرچم تایید)
پ := اچ تی تی پی۲.ساخت بهروزرسانی پنجره(۳، ۱۰۲۴)
سرچاپ اچ تی تی پی۲.نام نوع قاب(پ.kind)، اچ تی تی پی۲.مقدار افزایش پنجره(پ)
ر := اچ تی تی پی۲.ساخت بازنشانی جریان(۵، اچ تی تی پی۲.کد لغو)
سرچاپ اچ تی تی پی۲.کد خطای قاب(ر)، اچ تی تی پی۲.نام خطا(اچ تی تی پی۲.کد خطای قاب(ر))
خ := اچ تی تی پی۲.ساخت خداحافظی(۷، اچ تی تی پی۲.کد بدون خطا، "bye")
سرچاپ اچ تی تی پی۲.نام نوع قاب(خ.kind)، اچ تی تی پی۲.کد خطای قاب(خ)
پینگ := اچ تی تی پی۲.ساخت پینگ(فشرده سازی.بافر از رشته("12345678")، نادرست)
سرچاپ اچ تی تی پی۲.نام نوع قاب(پینگ.kind)، پینگ.payload.len
ناپایا د := اچ تی تی پی۲.قاب جدید(اچ تی تی پی۲.قاب داده، اچ تی تی پی۲.پرچم اتمام جریان، ۱)
فشرده سازی.افزودن بایتها(د.payload، "سلام" برگردان تهی*، ۸)
ناپایا سالم := درست
سرچاپ فشرده سازی.بافر به رشته(اچ تی تی پی۲.داده قاب(د، سالم))، سالم
ب := اچ تی تی پی۲.کدگذاری قاب(د)
سرچاپ ب.len، فشرده سازی.دریافت بایت(ب، ۳)
ناپایا س := اچ تی تی پی۲.قاب جدید(اچ تی تی پی۲.قاب سرصفحهها، اچ تی تی پی۲.پرچم اتمام سرصفحهها، ۱)
فشرده سازی.افزودن بایت(س.payload، ۱۳۰)
سرچاپ اچ تی تی پی۲.بلوک سرآیند قاب(س، سالم).len، سالم
ناپایا ع := فشرده سازی.بافر بایت جدید()
اچ تی تی پی۲.درج تنظیم(ع، اچ تی تی پی۲.تنظیم بیشینه اندازه قاب، ۱۶۳۸۴)
سرچاپ ع.len
اچ تی تی پی۲.آزادسازی قاب(د)
سرچاپ اچ تی تی پی۲.قاب داده، اچ تی تی پی۲.قاب پینگ، اچ تی تی پی۲.کد خطای پروتکل، اچ تی تی پی۲.اندازه پیشفرض قاب، اچ تی تی پی۲.پنجره پیشفرض، اچ تی تی پی۲.سقف اندازه قاب
سرچاپ اچ تی تی پی۲.نام نوع قاب(اچ تی تی پی۲.قاب اولویت)، اچ تی تی پی۲.نام نوع قاب(اچ تی تی پی۲.قاب بازنشانی جریان)، اچ تی تی پی۲.نام نوع قاب(اچ تی تی پی۲.قاب وعده ارسال)
سرچاپ اچ تی تی پی۲.نام نوع قاب(اچ تی تی پی۲.قاب ترک اتصال)، اچ تی تی پی۲.نام نوع قاب(اچ تی تی پی۲.قاب بهروزرسانی پنجره)، اچ تی تی پی۲.نام نوع قاب(اچ تی تی پی۲.قاب ادامه)
سرچاپ اچ تی تی پی۲.تنظیم اندازه جدول سرصفحه، اچ تی تی پی۲.تنظیم فعالسازی ارسال، اچ تی تی پی۲.تنظیم بیشینه جریانهای همزمان، اچ تی تی پی۲.تنظیم اندازه آغازین پنجره، اچ تی تی پی۲.تنظیم بیشینه اندازه فهرست سرصفحه
سرچاپ اچ تی تی پی۲.نام خطا(اچ تی تی پی۲.کد خطای داخلی)، اچ تی تی پی۲.نام خطا(اچ تی تی پی۲.کد خطای کنترل جریان)، اچ تی تی پی۲.نام خطا(اچ تی تی پی۲.کد مهلت تنظیمات)، اچ تی تی پی۲.نام خطا(اچ تی تی پی۲.کد جریان بستهشده)
سرچاپ اچ تی تی پی۲.نام خطا(اچ تی تی پی۲.کد خطای اندازه قاب)، اچ تی تی پی۲.نام خطا(اچ تی تی پی۲.کد جریان ردشده)، اچ تی تی پی۲.نام خطا(اچ تی تی پی۲.کد خطای فشردهسازی)، اچ تی تی پی۲.نام خطا(اچ تی تی پی۲.کد خطای اتصال)
سرچاپ اچ تی تی پی۲.نام خطا(اچ تی تی پی۲.کد درخواست آرامش)، اچ تی تی پی۲.نام خطا(اچ تی تی پی۲.کد امنیت ناکافی)، اچ تی تی پی۲.نام خطا(اچ تی تی پی۲.کد نیاز به اچتیتیپی۱۱)
سرچاپ اچ تی تی پی۲.جریان بیکار، اچ تی تی پی۲.جریان باز، اچ تی تی پی۲.جریان نیمهبسته محلی، اچ تی تی پی۲.جریان نیمهبسته دور، اچ تی تی پی۲.وضعیت جریان بستهشده
سرچاپ اچ تی تی پی۲.اندازه پیشفرض جدول، اچ تی تی پی۲.نتیجه خطا
پایانسرآیند Header
ساختار سرآیند| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| name | name | رشته = "" | نام؛ در HTTP/2 همیشه با حروف کوچک. |
| value | value | رشته = "" | مقدار. |
| sensitive | sensitive | منطقی = نادرست | حساس است و هرگز در جدول HPACK نمیرود؛ برای توکنها و کوکیها. |
واردسازی شبکه.اچ تی تی پی۲
واردسازی فشرده سازی
روال ریشه:
ناپایا فهرست := اچ تی تی پی۲.فهرست سرآیندها {}
اچ تی تی پی۲.افزودن سرآیند(فهرست، ":method"، "GET")
اچ تی تی پی۲.افزودن سرآیند(فهرست، ":path"، "/")
اچ تی تی پی۲.افزودن سرآیند(فهرست، "user-agent"، "salam")
اچ تی تی پی۲.افزودن سرآیند حساس(فهرست، "authorization"، "Bearer x")
سرچاپ اچ تی تی پی۲.تعداد سرآیندها(فهرست)، اچ تی تی پی۲.دریافت سرآیند(فهرست، ":path")، اچ تی تی پی۲.سرآیند دارد(فهرست، "cookie")
ناپایا فرستنده := اچ تی تی پی۲.جدول پویا جدید(۴۰۹۶)
ناپایا گیرنده := اچ تی تی پی۲.جدول پویا جدید(۴۰۹۶)
بلوک := اچ تی تی پی۲.کدگذاری فهرست سرآیند(فرستنده، فهرست، درست)
سرچاپ بلوک.len، اچ تی تی پی۲.تعداد جدول پویا(فرستنده)، اچ تی تی پی۲.اندازه جدول پویا(فرستنده)
ناپایا سالم := درست
خوانده := اچ تی تی پی۲.کدگشایی فهرست سرآیند(گیرنده، بلوک، سالم)
سرچاپ سالم، خوانده.items.طول()، خوانده.items[۲].name، خوانده.items[۲].value، خوانده.items[۳].sensitive
بلوک۲ := اچ تی تی پی۲.کدگذاری فهرست سرآیند(فرستنده، فهرست، درست)
سرچاپ بلوک۲.len < بلوک.len
ث := اچ تی تی پی۲.دریافت از جدول ثابت(۲)
سرچاپ ث.name، ث.value، اچ تی تی پی۲.شمار جدول ایستای اچپک، اچ تی تی پی۲.سربار مدخل اچپک
پ := اچ تی تی پی۲.دریافت از جدول پویا(گیرنده، ۱)
سرچاپ پ.name
ناپایا دقیق := نادرست
سرچاپ اچ تی تی پی۲.جستجوی جدول(گیرنده، ":method"، "GET"، دقیق)، دقیق
سرچاپ اچ تی تی پی۲.دریافت از جدول(گیرنده، ۶۲، سالم).name، سالم
ناپایا ب := فشرده سازی.بافر بایت جدید()
اچ تی تی پی۲.کدگذاری تغییر اندازه جدول(ب، فرستنده، ۲۵۶)
اچ تی تی پی۲.تنظیم اندازه جدول(گیرنده، ۲۵۶)
سرچاپ ب.len، فرستنده.max_size، گیرنده.max_size
ناپایا ب۲ := فشرده سازی.بافر بایت جدید()
اچ تی تی پی۲.کدگذاری سرآیند(ب۲، فرستنده، اچ تی تی پی۲.سرآیند جدید("x-id"، "7")، نادرست)
اچ تی تی پی۲.درج در جدول پویا(گیرنده، اچ تی تی پی۲.سرآیند حساس("k"، "v"))
سرچاپ ب۲.len، اچ تی تی پی۲.تعداد جدول پویا(گیرنده)
پایانفهرست سرآیندها HeaderList
ساختار فهرست سرآیندها| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| items | items | وکتور<سرآیند> | سرآیندها. |
نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
جدول پویا DynTable
ساختار جدول پویا| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| items | items | وکتور<سرآیند> | مدخلها. |
| head | head | صحیح = 0 | جای تازهترین مدخل در حلقه. |
| size | size | صحیح = 0 | اندازهی فعلی بر حسب بایت، با سربار. |
| max_size | max_size | صحیح = 4096 | بیشترین اندازه؛ مدخلهای قدیمی بیرون رانده میشوند. |
نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
جدولهای هافمن HufTables
ساختار جدولهای هافمن| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| counts | counts | وکتور<صحیح> | شمار کدها در هر طول. |
| first | first | وکتور<صحیح> | نخستین کد هر طول. |
| syms | syms | وکتور<صحیح> | نمادها به ترتیب کد. |
| ready | ready | منطقی = نادرست | جدولها ساخته شدهاند. |
واردسازی شبکه.اچ تی تی پی۲
واردسازی کدگذاری
واردسازی فشرده سازی
روال ریشه:
ب := اچ تی تی پی۲.کدگذاری متن هافمن("www.example.com")
سرچاپ کدگذاری.کدگذاری شانزده(فشرده سازی.بافر به رشته(ب))
سرچاپ اچ تی تی پی۲.طول کدشده متن("www.example.com")، "www.example.com".طول()
ناپایا سالم := درست
سرچاپ فشرده سازی.بافر به رشته(اچ تی تی پی۲.کدگشایی بافر هافمن(ب، سالم))، سالم
متن := فشرده سازی.بافر از رشته("no-cache")
سرچاپ اچ تی تی پی۲.طول کدشده هافمن(متن.data، متن.len)
ناپایا خروجی := فشرده سازی.بافر بایت جدید()
فشرده سازی.افزودن بایت(خروجی، ۰)
اچ تی تی پی۲.کدگذاری هافمن(خروجی، متن.data، متن.len)
سرچاپ فشرده سازی.بافر به رشته(اچ تی تی پی۲.کدگشایی هافمن(خروجی، ۱، خروجی.len - ۱، سالم))، سالم
پایانجعبه امن TlsBox
ساختار جعبه امن| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| items | items | وکتور | اتصالها. |
واردسازی شبکه.اچ تی تی پی۲
واردسازی شبکه.تی سی پی شبکه
روال ریشه:
امن := تی سی پی شبکه.شماره گیری امن("example.com"، ۴۴۳)
ناپایا ک := اچ تی تی پی۲.اتصال جدید(اچ تی تی پی۲.ترابری امن(امن)، نادرست)
سرچاپ اچ تی تی پی۲.دستدهی کارخواه(ک)، ک.tx.kind == اچ تی تی پی۲.انتقال امن
اچ تی تی پی۲.بستن اتصال(ک)
پایانتنظیمات Settings
ساختار تنظیمات| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| header_table_size | header_table_size | صحیح = 4096 | اندازهی جدول HPACK. |
| enable_push | enable_push | صحیح = 1 | ارسال بیدرخواست؛ ۱ یا ۰. |
| max_concurrent_streams | max_concurrent_streams | صحیح = -1 | بیشترین جریان همزمان؛ ۱- یعنی بیحد. |
| initial_window_size | initial_window_size | صحیح = 65535 | پنجرهی آغازین. |
| max_frame_size | max_frame_size | صحیح = 16384 | بیشترین اندازهی قاب. |
| max_header_list_size | max_header_list_size | صحیح = -1 | بیشترین اندازهی سرآیندها؛ ۱- یعنی بیحد. |
نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
ترابری Transport
ساختار ترابری| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| kind | kind | صحیح = 0 | نوع ترابری. |
| fd | fd | صحیح۶۴ = -1 | توصیفگر سوکت. |
| sec_id | sec_id | صحیح = -1 | شمارهی اتصال TLS در ظرف داخلی. |
| ok | ok | منطقی = نادرست | ترابری سالم است. |
نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
پایاها و متغیرها
نتیجه خطا H2_POLL_ERROR
پایا نتیجه خطا: صحیح۳۲ = -1دریافت رویداد: خطا یا بسته شدن اتصال.نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
نتیجه اتصال H2_POLL_CONNECTION
پایا نتیجه اتصال: صحیح۳۲ = 0دریافت رویداد: قابی برای کل اتصال رسید. عدد مثبت شناسهی جریانی است که قابش رسیده.نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
پیشدرآمد اچتیتیپی۲ H2_PREFACE
پایا پیشدرآمد اچتیتیپی۲: رشته = "PRI * HTTP/2.0
SM
"واردسازی شبکه.اچ تی تی پی۲
واردسازی شبکه.تی سی پی شبکه
واردسازی فشرده سازی
ناپایا سرور := تی سی پی شبکه.سرور {}
روال پاسخگو():
ا := تی سی پی شبکه.پذیرش(سرور)
ناپایا ت := اچ تی تی پی۲.ترابری ساده(ا.fd)
سرچاپ "سرور پیشدرآمد:"، اچ تی تی پی۲.خواندن پیشدرآمد(ت)
ق := اچ تی تی پی۲.خواندن قاب(ت، اچ تی تی پی۲.اندازه پیشفرض قاب)
سرچاپ "سرور قاب:"، ق.ok، اچ تی تی پی۲.نام نوع قاب(ق.kind)، ق.stream_id، فشرده سازی.بافر به رشته(ق.payload)
اچ تی تی پی۲.بستن ترابری(ت)
پایان
روال ریشه:
سرور = تی سی پی شبکه.پیوند(۰)
ن := spawn(پاسخگو)
ا := تی سی پی شبکه.شماره گیری("127.0.0.1"، تی سی پی شبکه.درگاه(سرور))
ناپایا ت := اچ تی تی پی۲.ترابری ساده(ا.fd)
_ := اچ تی تی پی۲.نوشتن پیشدرآمد(ت)
ناپایا د := اچ تی تی پی۲.قاب جدید(اچ تی تی پی۲.قاب داده، ۰، ۳)
فشرده سازی.افزودن بافر(د.payload، فشرده سازی.بافر از رشته("hi"))
_ := اچ تی تی پی۲.نوشتن قاب(ت، د)
join(ن)
اچ تی تی پی۲.بستن ترابری(ت)
تی سی پی شبکه.بستن سرور(سرور)
سرچاپ اچ تی تی پی۲.پیشدرآمد اچتیتیپی۲.طول()
پایانقاب داده H2_DATA
پایا قاب داده: صحیح۳۲ = 0نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
قاب سرصفحهها H2_HEADERS
پایا قاب سرصفحهها: صحیح۳۲ = 1نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
قاب اولویت H2_PRIORITY
پایا قاب اولویت: صحیح۳۲ = 2نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
قاب بازنشانی جریان H2_RST_STREAM
پایا قاب بازنشانی جریان: صحیح۳۲ = 3نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
قاب تنظیمات H2_SETTINGS
پایا قاب تنظیمات: صحیح۳۲ = 4نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
قاب وعده ارسال H2_PUSH_PROMISE
پایا قاب وعده ارسال: صحیح۳۲ = 5نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
قاب پینگ H2_PING
پایا قاب پینگ: صحیح۳۲ = 6نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
قاب ترک اتصال H2_GOAWAY
پایا قاب ترک اتصال: صحیح۳۲ = 7نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
قاب بهروزرسانی پنجره H2_WINDOW_UPDATE
پایا قاب بهروزرسانی پنجره: صحیح۳۲ = 8نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
قاب ادامه H2_CONTINUATION
پایا قاب ادامه: صحیح۳۲ = 9نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
پرچمهای قاب H2_FLAG_…
پرچم اتمام جریان و پرچم تایید هر دو ۱ هستند، یکی برای قاب داده و سرآیند و دیگری برای تنظیمات و پینگ. با قاب پرچم دارد بررسیشان کنید.| نام | انگلیسی | مقدار |
|---|---|---|
| پرچم اتمام جریان | H2_FLAG_END_STREAM | 1 |
| پرچم تایید | H2_FLAG_ACK | 1 |
| پرچم اتمام سرصفحهها | H2_FLAG_END_HEADERS | 4 |
| پرچم لایهگذاری | H2_FLAG_PADDED | 8 |
| پرچم اولویت | H2_FLAG_PRIORITY | 32 |
نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
تنظیم اندازه جدول سرصفحه H2_SETTINGS_HEADER_TABLE_SIZE
پایا تنظیم اندازه جدول سرصفحه: صحیح۳۲ = 1نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
تنظیم فعالسازی ارسال H2_SETTINGS_ENABLE_PUSH
پایا تنظیم فعالسازی ارسال: صحیح۳۲ = 2نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
تنظیم بیشینه جریانهای همزمان H2_SETTINGS_MAX_CONCURRENT_STREAMS
پایا تنظیم بیشینه جریانهای همزمان: صحیح۳۲ = 3نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
تنظیم اندازه آغازین پنجره H2_SETTINGS_INITIAL_WINDOW_SIZE
پایا تنظیم اندازه آغازین پنجره: صحیح۳۲ = 4نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
تنظیم بیشینه اندازه قاب H2_SETTINGS_MAX_FRAME_SIZE
پایا تنظیم بیشینه اندازه قاب: صحیح۳۲ = 5نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
تنظیم بیشینه اندازه فهرست سرصفحه H2_SETTINGS_MAX_HEADER_LIST_SIZE
پایا تنظیم بیشینه اندازه فهرست سرصفحه: صحیح۳۲ = 6نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
کد بدون خطا H2_NO_ERROR
پایا کد بدون خطا: صحیح۳۲ = 0نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
کد خطای پروتکل H2_PROTOCOL_ERROR
پایا کد خطای پروتکل: صحیح۳۲ = 1نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
کد خطای داخلی H2_INTERNAL_ERROR
پایا کد خطای داخلی: صحیح۳۲ = 2نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
کد خطای کنترل جریان H2_FLOW_CONTROL_ERROR
پایا کد خطای کنترل جریان: صحیح۳۲ = 3نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
کد مهلت تنظیمات H2_SETTINGS_TIMEOUT
پایا کد مهلت تنظیمات: صحیح۳۲ = 4نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
کد جریان بستهشده H2_STREAM_CLOSED
پایا کد جریان بستهشده: صحیح۳۲ = 5نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
کد خطای اندازه قاب H2_FRAME_SIZE_ERROR
پایا کد خطای اندازه قاب: صحیح۳۲ = 6نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
کد جریان ردشده H2_REFUSED_STREAM
پایا کد جریان ردشده: صحیح۳۲ = 7نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
کد لغو H2_CANCEL
پایا کد لغو: صحیح۳۲ = 8نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
کد خطای فشردهسازی H2_COMPRESSION_ERROR
پایا کد خطای فشردهسازی: صحیح۳۲ = 9نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
کد خطای اتصال H2_CONNECT_ERROR
پایا کد خطای اتصال: صحیح۳۲ = 10نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
کد درخواست آرامش H2_ENHANCE_YOUR_CALM
پایا کد درخواست آرامش: صحیح۳۲ = 11نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
کد امنیت ناکافی H2_INADEQUATE_SECURITY
پایا کد امنیت ناکافی: صحیح۳۲ = 12نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
کد نیاز به اچتیتیپی۱۱ H2_HTTP_1_1_REQUIRED
پایا کد نیاز به اچتیتیپی۱۱: صحیح۳۲ = 13نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
اندازه پیشفرض قاب H2_DEFAULT_FRAME_SIZE
پایا اندازه پیشفرض قاب: صحیح۳۲ = 16384نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
پنجره پیشفرض H2_DEFAULT_WINDOW
پایا پنجره پیشفرض: صحیح۳۲ = 65535نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
اندازه پیشفرض جدول H2_DEFAULT_TABLE_SIZE
پایا اندازه پیشفرض جدول: صحیح۳۲ = 4096نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
سقف اندازه قاب H2_MAX_FRAME_LIMIT
پایا سقف اندازه قاب: صحیح۳۲ = 16777215نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
جریان بیکار H2_STREAM_IDLE
پایا جریان بیکار: صحیح۳۲ = 0نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
جریان باز H2_STREAM_OPEN
پایا جریان باز: صحیح۳۲ = 1نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
جریان نیمهبسته محلی H2_STREAM_HALF_CLOSED_LOCAL
پایا جریان نیمهبسته محلی: صحیح۳۲ = 2نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
جریان نیمهبسته دور H2_STREAM_HALF_CLOSED_REMOTE
پایا جریان نیمهبسته دور: صحیح۳۲ = 3نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
وضعیت جریان بستهشده H2_STREAM_CLOSED_STATE
پایا وضعیت جریان بستهشده: صحیح۳۲ = 4نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
انتقال ساده H2_TRANSPORT_PLAIN
پایا انتقال ساده: صحیح۳۲ = 0نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
انتقال امن H2_TRANSPORT_TLS
پایا انتقال امن: صحیح۳۲ = 1نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-TLS.salam
شمار جدول ایستای اچپک HPACK_STATIC_COUNT
پایا شمار جدول ایستای اچپک: صحیح۳۲ = 61نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
سربار مدخل اچپک HPACK_ENTRY_OVERHEAD
پایا سربار مدخل اچپک: صحیح۳۲ = 32نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
روالها
اتصال جدید NewConn
روال اتصال جدید(t: ترابری، is_server: منطقی): اتصال اچ تی تی پی۲نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
دستدهی کارخواه ClientHandshake
روال دستدهی کارخواه(c &: اتصال اچ تی تی پی۲): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
دستدهی سرور ServerHandshake
روال دستدهی سرور(c &: اتصال اچ تی تی پی۲): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
شناسه جریان بعدی NextStreamId
روال شناسه جریان بعدی(c &: اتصال اچ تی تی پی۲): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
جریان با شناسه StreamAt
روال جریان با شناسه(c: اتصال اچ تی تی پی۲، id: صحیح): جریان اچ تی تی پینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
تعداد جریانها StreamCount
روال تعداد جریانها(c: اتصال اچ تی تی پی۲): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
اتصال معتبر ConnOk
روال اتصال معتبر(c: اتصال اچ تی تی پی۲): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
ارسال سرآیندها SendHeaders
روال ارسال سرآیندها(c &: اتصال اچ تی تی پی۲، stream_id: صحیح، hl: فهرست سرآیندها، end_stream: منطقی): منطقیدرست بدهید تا جریان همینجا تمام شود.نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
ارسال دنبالهها SendTrailers
روال ارسال دنبالهها(c &: اتصال اچ تی تی پی۲، stream_id: صحیح، hl: فهرست سرآیندها): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
ارسال داده SendData
روال ارسال داده(c &: اتصال اچ تی تی پی۲، stream_id: صحیح، body: compress.ByteBuf، end_stream: منطقی): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
ارسال بازنشانی جریان SendRstStream
روال ارسال بازنشانی جریان(c &: اتصال اچ تی تی پی۲، stream_id: صحیح، error_code: صحیح): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
ارسال خداحافظی SendGoAway
روال ارسال خداحافظی(c &: اتصال اچ تی تی پی۲، error_code: صحیح، debug: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
ارسال پینگ SendPing
روال ارسال پینگ(c &: اتصال اچ تی تی پی۲، payload: compress.ByteBuf): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
دریافت رویداد Poll
روال دریافت رویداد(c &: اتصال اچ تی تی پی۲): صحیحنتیجه ... را برمیگرداند.نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
انتظار اتمام جریان AwaitStreamEnd
روال انتظار اتمام جریان(c &: اتصال اچ تی تی پی۲، stream_id: صحیح، max_frames: صحیح): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
انتظار سرآیند AwaitAnyHeaders
روال انتظار سرآیند(c &: اتصال اچ تی تی پی۲، max_frames: صحیح): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
بستن اتصال CloseConn
روال بستن اتصال(c &: اتصال اچ تی تی پی۲)نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
طول کدشده هافمن HuffmanEncodedLen
روال طول کدشده هافمن(p: تهی*، n: صحیح): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Huffman.salam
طول کدشده متن HuffmanEncodedLenStr
روال طول کدشده متن(s: رشته): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Huffman.salam
کدگذاری هافمن HuffmanEncode
روال کدگذاری هافمن(out &: compress.ByteBuf، p: تهی*، n: صحیح)نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Huffman.salam
کدگذاری متن هافمن HuffmanEncodeStr
روال کدگذاری متن هافمن(s: رشته): compress.ByteBufنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Huffman.salam
کدگشایی هافمن HuffmanDecode
روال کدگشایی هافمن(src: compress.ByteBuf، from: صحیح، len: صحیح، ok &: منطقی): compress.ByteBufسالم نادرست میشود.نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Huffman.salam
کدگشایی بافر هافمن HuffmanDecodeBuf
روال کدگشایی بافر هافمن(src: compress.ByteBuf، ok &: منطقی): compress.ByteBufنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Huffman.salam
نام نوع قاب FrameTypeName
روال نام نوع قاب(kind: صحیح): رشتهDATA.نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
نام خطا ErrorName
روال نام خطا(code: صحیح): رشتهCANCEL.نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
سرآیند جدید NewHeader
روال سرآیند جدید(name: رشته، value: رشته): سرآیندنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
سرآیند حساس NewSensitiveHeader
روال سرآیند حساس(name: رشته، value: رشته): سرآیندنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
افزودن سرآیند HeadersAdd
روال افزودن سرآیند(hl &: فهرست سرآیندها، name: رشته، value: رشته)نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
افزودن سرآیند حساس HeadersAddSensitive
روال افزودن سرآیند حساس(hl &: فهرست سرآیندها، name: رشته، value: رشته)نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
دریافت سرآیند HeadersGet
روال دریافت سرآیند(hl: فهرست سرآیندها، name: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
سرآیند دارد HeadersHas
روال سرآیند دارد(hl: فهرست سرآیندها، name: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
تعداد سرآیندها HeadersCount
روال تعداد سرآیندها(hl: فهرست سرآیندها): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
تنظیمات پیشفرض DefaultSettings
روال تنظیمات پیشفرض(): تنظیماتنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
ترابری ساده PlainTransport
روال ترابری ساده(fd: صحیح۶۴): ترابرینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Conn.salam
ترابری امن TLSTransport
روال ترابری امن(c: tls.اتصال اچ تی تی پی۲): ترابرینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-TLS.salam
بستن ترابری CloseTransport
روال بستن ترابری(t &: ترابری)نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Transport.salam
قاب جدید NewFrame
روال قاب جدید(kind: صحیح، flags: صحیح، stream_id: صحیح): قابنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
آزادسازی قاب FreeFrame
روال آزادسازی قاب(f &: قاب)نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
قاب پرچم دارد FrameHasFlag
روال قاب پرچم دارد(f: قاب، flag: صحیح): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
کدگذاری قاب FrameEncode
روال کدگذاری قاب(f: قاب): compress.ByteBufنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
نوشتن قاب WriteFrame
روال نوشتن قاب(t &: ترابری، f: قاب): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Transport.salam
خواندن قاب ReadFrame
روال خواندن قاب(t &: ترابری، max_frame_size: صحیح): قابنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Transport.salam
نوشتن پیشدرآمد WritePreface
روال نوشتن پیشدرآمد(t &: ترابری): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Transport.salam
خواندن پیشدرآمد ReadPreface
روال خواندن پیشدرآمد(t &: ترابری): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Transport.salam
بلوک سرآیند قاب HeaderBlockOf
روال بلوک سرآیند قاب(f: قاب، ok &: منطقی): compress.ByteBufنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
داده قاب DataOf
روال داده قاب(f: قاب، ok &: منطقی): compress.ByteBufنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
ساخت قاب تنظیمات MakeSettingsFrame
روال ساخت قاب تنظیمات(s: تنظیمات): قابنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
ساخت تایید تنظیمات MakeSettingsAck
روال ساخت تایید تنظیمات(): قابنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
اعمال تنظیمات ApplySettings
روال اعمال تنظیمات(s &: تنظیمات، f: قاب): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
ساخت بهروزرسانی پنجره MakeWindowUpdate
روال ساخت بهروزرسانی پنجره(stream_id: صحیح، increment: صحیح): قابنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
مقدار افزایش پنجره WindowIncrementOf
روال مقدار افزایش پنجره(f: قاب): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
ساخت بازنشانی جریان MakeRstStream
روال ساخت بازنشانی جریان(stream_id: صحیح، error_code: صحیح): قابنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
کد خطای قاب ErrorCodeOf
روال کد خطای قاب(f: قاب): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
ساخت خداحافظی MakeGoAway
روال ساخت خداحافظی(last_stream_id: صحیح، error_code: صحیح، debug: رشته): قابنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
ساخت پینگ MakePing
روال ساخت پینگ(payload: compress.ByteBuf، ack: منطقی): قابنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
درج تنظیم PutSetting
روال درج تنظیم(out &: compress.ByteBuf، id: صحیح، v: صحیح)نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Frame.salam
جدول پویا جدید NewDynTable
روال جدول پویا جدید(max_size: صحیح): جدول پویانمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
تعداد جدول پویا DynCount
روال تعداد جدول پویا(t: جدول پویا): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
اندازه جدول پویا DynSize
روال اندازه جدول پویا(t: جدول پویا): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
دریافت از جدول پویا DynGet
روال دریافت از جدول پویا(t: جدول پویا، index: صحیح): سرآیندنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
درج در جدول پویا DynInsert
روال درج در جدول پویا(t &: جدول پویا، h: سرآیند)نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
تنظیم اندازه جدول DynSetMaxSize
روال تنظیم اندازه جدول(t &: جدول پویا، max_size: صحیح)نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
دریافت از جدول ثابت StaticGet
روال دریافت از جدول ثابت(index: صحیح): سرآیند:method GET است.نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
دریافت از جدول TableGet
روال دریافت از جدول(t: جدول پویا، index: صحیح، ok &: منطقی): سرآیندنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
جستجوی جدول TableFind
روال جستجوی جدول(t: جدول پویا، name: رشته، value: رشته، exact &: منطقی): صحیحدقیق نادرست میشود. اگر نباشد، صفر.نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
کدگذاری سرآیند EncodeHeader
روال کدگذاری سرآیند(out &: compress.ByteBuf، t &: جدول پویا، h: سرآیند، use_huffman: منطقی)نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
کدگذاری فهرست سرآیند EncodeHeaderList
روال کدگذاری فهرست سرآیند(t &: جدول پویا، hl: فهرست سرآیندها، use_huffman: منطقی): compress.ByteBufنمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
کدگذاری تغییر اندازه جدول EncodeTableSizeUpdate
روال کدگذاری تغییر اندازه جدول(out &: compress.ByteBuf، t &: جدول پویا، new_size: صحیح)نمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam
کدگشایی فهرست سرآیند DecodeHeaderList
روال کدگشایی فهرست سرآیند(t &: جدول پویا، block: compress.ByteBuf، ok &: منطقی): فهرست سرآیندهانمونهی این مورد همراه با موارد بالاتر آمده است: net-http2-Hpack.salam