ホーム › Networking.HttpServer › HTTP_QUIC_STREAM_API_TIMINGS
HTTP_QUIC_STREAM_API_TIMINGS
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
| フィールド | 型 | サイズ | x64 | x86 | 説明 |
|---|---|---|---|---|---|
| OpenCount | ULONGLONG | 8 | +0 | +0 | QUICストリームのOpen操作の呼び出し回数。 |
| OpenSum | ULONGLONG | 8 | +8 | +8 | QUICストリームのOpen操作に要した累計時間。 |
| CloseCount | ULONGLONG | 8 | +16 | +16 | QUICストリームのClose操作の呼び出し回数。 |
| CloseSum | ULONGLONG | 8 | +24 | +24 | QUICストリームのClose操作に要した累計時間。 |
| StartCount | ULONGLONG | 8 | +32 | +32 | QUICストリームのStart操作の呼び出し回数。 |
| StartSum | ULONGLONG | 8 | +40 | +40 | QUICストリームのStart操作に要した累計時間。 |
| ShutdownCount | ULONGLONG | 8 | +48 | +48 | QUICストリームのShutdown操作の呼び出し回数。 |
| ShutdownSum | ULONGLONG | 8 | +56 | +56 | QUICストリームのShutdown操作に要した累計時間。 |
| SendCount | ULONGLONG | 8 | +64 | +64 | QUICストリームのSend操作の呼び出し回数。 |
| SendSum | ULONGLONG | 8 | +72 | +72 | QUICストリームのSend操作に要した累計時間。 |
| ReceiveSetEnabledCount | ULONGLONG | 8 | +80 | +80 | 受信有効化設定操作の呼び出し回数。 |
| ReceiveSetEnabledSum | ULONGLONG | 8 | +88 | +88 | 受信有効化設定操作に要した累計時間。 |
| GetParamCount | ULONGLONG | 8 | +96 | +96 | パラメータ取得操作の呼び出し回数。 |
| GetParamSum | ULONGLONG | 8 | +104 | +104 | パラメータ取得操作に要した累計時間。 |
| SetParamCount | ULONGLONG | 8 | +112 | +112 | パラメータ設定操作の呼び出し回数。 |
| SetParamSum | ULONGLONG | 8 | +120 | +120 | パラメータ設定操作に要した累計時間。 |
| SetCallbackHandlerCount | ULONGLONG | 8 | +128 | +128 | コールバックハンドラ設定操作の呼び出し回数。 |
| SetCallbackHandlerSum | ULONGLONG | 8 | +136 | +136 | コールバックハンドラ設定操作に要した累計時間。 |
各言語での定義
#include <windows.h>
// HTTP_QUIC_STREAM_API_TIMINGS (x64 144 / x86 144 バイト)
typedef struct HTTP_QUIC_STREAM_API_TIMINGS {
ULONGLONG OpenCount;
ULONGLONG OpenSum;
ULONGLONG CloseCount;
ULONGLONG CloseSum;
ULONGLONG StartCount;
ULONGLONG StartSum;
ULONGLONG ShutdownCount;
ULONGLONG ShutdownSum;
ULONGLONG SendCount;
ULONGLONG SendSum;
ULONGLONG ReceiveSetEnabledCount;
ULONGLONG ReceiveSetEnabledSum;
ULONGLONG GetParamCount;
ULONGLONG GetParamSum;
ULONGLONG SetParamCount;
ULONGLONG SetParamSum;
ULONGLONG SetCallbackHandlerCount;
ULONGLONG SetCallbackHandlerSum;
} HTTP_QUIC_STREAM_API_TIMINGS;using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct HTTP_QUIC_STREAM_API_TIMINGS
{
public ulong OpenCount;
public ulong OpenSum;
public ulong CloseCount;
public ulong CloseSum;
public ulong StartCount;
public ulong StartSum;
public ulong ShutdownCount;
public ulong ShutdownSum;
public ulong SendCount;
public ulong SendSum;
public ulong ReceiveSetEnabledCount;
public ulong ReceiveSetEnabledSum;
public ulong GetParamCount;
public ulong GetParamSum;
public ulong SetParamCount;
public ulong SetParamSum;
public ulong SetCallbackHandlerCount;
public ulong SetCallbackHandlerSum;
}Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure HTTP_QUIC_STREAM_API_TIMINGS
Public OpenCount As ULong
Public OpenSum As ULong
Public CloseCount As ULong
Public CloseSum As ULong
Public StartCount As ULong
Public StartSum As ULong
Public ShutdownCount As ULong
Public ShutdownSum As ULong
Public SendCount As ULong
Public SendSum As ULong
Public ReceiveSetEnabledCount As ULong
Public ReceiveSetEnabledSum As ULong
Public GetParamCount As ULong
Public GetParamSum As ULong
Public SetParamCount As ULong
Public SetParamSum As ULong
Public SetCallbackHandlerCount As ULong
Public SetCallbackHandlerSum As ULong
End Structureimport ctypes
from ctypes import wintypes
class HTTP_QUIC_STREAM_API_TIMINGS(ctypes.Structure):
_fields_ = [
("OpenCount", ctypes.c_ulonglong),
("OpenSum", ctypes.c_ulonglong),
("CloseCount", ctypes.c_ulonglong),
("CloseSum", ctypes.c_ulonglong),
("StartCount", ctypes.c_ulonglong),
("StartSum", ctypes.c_ulonglong),
("ShutdownCount", ctypes.c_ulonglong),
("ShutdownSum", ctypes.c_ulonglong),
("SendCount", ctypes.c_ulonglong),
("SendSum", ctypes.c_ulonglong),
("ReceiveSetEnabledCount", ctypes.c_ulonglong),
("ReceiveSetEnabledSum", ctypes.c_ulonglong),
("GetParamCount", ctypes.c_ulonglong),
("GetParamSum", ctypes.c_ulonglong),
("SetParamCount", ctypes.c_ulonglong),
("SetParamSum", ctypes.c_ulonglong),
("SetCallbackHandlerCount", ctypes.c_ulonglong),
("SetCallbackHandlerSum", ctypes.c_ulonglong),
]#[repr(C)]
pub struct HTTP_QUIC_STREAM_API_TIMINGS {
pub OpenCount: u64,
pub OpenSum: u64,
pub CloseCount: u64,
pub CloseSum: u64,
pub StartCount: u64,
pub StartSum: u64,
pub ShutdownCount: u64,
pub ShutdownSum: u64,
pub SendCount: u64,
pub SendSum: u64,
pub ReceiveSetEnabledCount: u64,
pub ReceiveSetEnabledSum: u64,
pub GetParamCount: u64,
pub GetParamSum: u64,
pub SetParamCount: u64,
pub SetParamSum: u64,
pub SetCallbackHandlerCount: u64,
pub SetCallbackHandlerSum: u64,
}import "golang.org/x/sys/windows"
type HTTP_QUIC_STREAM_API_TIMINGS struct {
OpenCount uint64
OpenSum uint64
CloseCount uint64
CloseSum uint64
StartCount uint64
StartSum uint64
ShutdownCount uint64
ShutdownSum uint64
SendCount uint64
SendSum uint64
ReceiveSetEnabledCount uint64
ReceiveSetEnabledSum uint64
GetParamCount uint64
GetParamSum uint64
SetParamCount uint64
SetParamSum uint64
SetCallbackHandlerCount uint64
SetCallbackHandlerSum uint64
}type
HTTP_QUIC_STREAM_API_TIMINGS = record
OpenCount: UInt64;
OpenSum: UInt64;
CloseCount: UInt64;
CloseSum: UInt64;
StartCount: UInt64;
StartSum: UInt64;
ShutdownCount: UInt64;
ShutdownSum: UInt64;
SendCount: UInt64;
SendSum: UInt64;
ReceiveSetEnabledCount: UInt64;
ReceiveSetEnabledSum: UInt64;
GetParamCount: UInt64;
GetParamSum: UInt64;
SetParamCount: UInt64;
SetParamSum: UInt64;
SetCallbackHandlerCount: UInt64;
SetCallbackHandlerSum: UInt64;
end;const HTTP_QUIC_STREAM_API_TIMINGS = extern struct {
OpenCount: u64,
OpenSum: u64,
CloseCount: u64,
CloseSum: u64,
StartCount: u64,
StartSum: u64,
ShutdownCount: u64,
ShutdownSum: u64,
SendCount: u64,
SendSum: u64,
ReceiveSetEnabledCount: u64,
ReceiveSetEnabledSum: u64,
GetParamCount: u64,
GetParamSum: u64,
SetParamCount: u64,
SetParamSum: u64,
SetCallbackHandlerCount: u64,
SetCallbackHandlerSum: u64,
};type
HTTP_QUIC_STREAM_API_TIMINGS {.bycopy.} = object
OpenCount: uint64
OpenSum: uint64
CloseCount: uint64
CloseSum: uint64
StartCount: uint64
StartSum: uint64
ShutdownCount: uint64
ShutdownSum: uint64
SendCount: uint64
SendSum: uint64
ReceiveSetEnabledCount: uint64
ReceiveSetEnabledSum: uint64
GetParamCount: uint64
GetParamSum: uint64
SetParamCount: uint64
SetParamSum: uint64
SetCallbackHandlerCount: uint64
SetCallbackHandlerSum: uint64struct HTTP_QUIC_STREAM_API_TIMINGS
{
ulong OpenCount;
ulong OpenSum;
ulong CloseCount;
ulong CloseSum;
ulong StartCount;
ulong StartSum;
ulong ShutdownCount;
ulong ShutdownSum;
ulong SendCount;
ulong SendSum;
ulong ReceiveSetEnabledCount;
ulong ReceiveSetEnabledSum;
ulong GetParamCount;
ulong GetParamSum;
ulong SetParamCount;
ulong SetParamSum;
ulong SetCallbackHandlerCount;
ulong SetCallbackHandlerSum;
}HSP用 定義
HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; HTTP_QUIC_STREAM_API_TIMINGS サイズ: 144 バイト(x64)
dim st, 36 ; 4byte整数×36(構造体サイズ 144 / 4 切り上げ)
; OpenCount : ULONGLONG (+0, 8byte) qpoke st,0,値 / qpeek(st,0) ※IronHSPのみ。3.7/3.8は lpoke st,0,下位 : lpoke st,4,上位
; OpenSum : ULONGLONG (+8, 8byte) qpoke st,8,値 / qpeek(st,8) ※IronHSPのみ。3.7/3.8は lpoke st,8,下位 : lpoke st,12,上位
; CloseCount : ULONGLONG (+16, 8byte) qpoke st,16,値 / qpeek(st,16) ※IronHSPのみ。3.7/3.8は lpoke st,16,下位 : lpoke st,20,上位
; CloseSum : ULONGLONG (+24, 8byte) qpoke st,24,値 / qpeek(st,24) ※IronHSPのみ。3.7/3.8は lpoke st,24,下位 : lpoke st,28,上位
; StartCount : ULONGLONG (+32, 8byte) qpoke st,32,値 / qpeek(st,32) ※IronHSPのみ。3.7/3.8は lpoke st,32,下位 : lpoke st,36,上位
; StartSum : ULONGLONG (+40, 8byte) qpoke st,40,値 / qpeek(st,40) ※IronHSPのみ。3.7/3.8は lpoke st,40,下位 : lpoke st,44,上位
; ShutdownCount : ULONGLONG (+48, 8byte) qpoke st,48,値 / qpeek(st,48) ※IronHSPのみ。3.7/3.8は lpoke st,48,下位 : lpoke st,52,上位
; ShutdownSum : ULONGLONG (+56, 8byte) qpoke st,56,値 / qpeek(st,56) ※IronHSPのみ。3.7/3.8は lpoke st,56,下位 : lpoke st,60,上位
; SendCount : ULONGLONG (+64, 8byte) qpoke st,64,値 / qpeek(st,64) ※IronHSPのみ。3.7/3.8は lpoke st,64,下位 : lpoke st,68,上位
; SendSum : ULONGLONG (+72, 8byte) qpoke st,72,値 / qpeek(st,72) ※IronHSPのみ。3.7/3.8は lpoke st,72,下位 : lpoke st,76,上位
; ReceiveSetEnabledCount : ULONGLONG (+80, 8byte) qpoke st,80,値 / qpeek(st,80) ※IronHSPのみ。3.7/3.8は lpoke st,80,下位 : lpoke st,84,上位
; ReceiveSetEnabledSum : ULONGLONG (+88, 8byte) qpoke st,88,値 / qpeek(st,88) ※IronHSPのみ。3.7/3.8は lpoke st,88,下位 : lpoke st,92,上位
; GetParamCount : ULONGLONG (+96, 8byte) qpoke st,96,値 / qpeek(st,96) ※IronHSPのみ。3.7/3.8は lpoke st,96,下位 : lpoke st,100,上位
; GetParamSum : ULONGLONG (+104, 8byte) qpoke st,104,値 / qpeek(st,104) ※IronHSPのみ。3.7/3.8は lpoke st,104,下位 : lpoke st,108,上位
; SetParamCount : ULONGLONG (+112, 8byte) qpoke st,112,値 / qpeek(st,112) ※IronHSPのみ。3.7/3.8は lpoke st,112,下位 : lpoke st,116,上位
; SetParamSum : ULONGLONG (+120, 8byte) qpoke st,120,値 / qpeek(st,120) ※IronHSPのみ。3.7/3.8は lpoke st,120,下位 : lpoke st,124,上位
; SetCallbackHandlerCount : ULONGLONG (+128, 8byte) qpoke st,128,値 / qpeek(st,128) ※IronHSPのみ。3.7/3.8は lpoke st,128,下位 : lpoke st,132,上位
; SetCallbackHandlerSum : ULONGLONG (+136, 8byte) qpoke st,136,値 / qpeek(st,136) ※IronHSPのみ。3.7/3.8は lpoke st,136,下位 : lpoke st,140,上位
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
#defstruct global HTTP_QUIC_STREAM_API_TIMINGS
#field int64 OpenCount
#field int64 OpenSum
#field int64 CloseCount
#field int64 CloseSum
#field int64 StartCount
#field int64 StartSum
#field int64 ShutdownCount
#field int64 ShutdownSum
#field int64 SendCount
#field int64 SendSum
#field int64 ReceiveSetEnabledCount
#field int64 ReceiveSetEnabledSum
#field int64 GetParamCount
#field int64 GetParamSum
#field int64 SetParamCount
#field int64 SetParamSum
#field int64 SetCallbackHandlerCount
#field int64 SetCallbackHandlerSum
#endstruct
stdim st, HTTP_QUIC_STREAM_API_TIMINGS ; NSTRUCT 変数を確保
st->OpenCount = 100
mes "OpenCount=" + st->OpenCount