@@ -59,8 +59,15 @@ enum Http2OptionsIndex {
59
59
IDX_OPTIONS_FLAGS
60
60
};
61
61
62
+ enum Http2PaddingBufferFields {
63
+ PADDING_BUF_FRAME_LENGTH,
64
+ PADDING_BUF_MAX_PAYLOAD_LENGTH,
65
+ PADDING_BUF_RETURN_VALUE,
66
+ PADDING_BUF_FIELD_COUNT
67
+ };
68
+
62
69
struct http2_state {
63
- uint32_t padding_buffer[3 ];
70
+ uint32_t padding_buffer[PADDING_BUF_FIELD_COUNT ];
64
71
uint32_t options_buffer[IDX_OPTIONS_FLAGS + 1 ];
65
72
uint32_t settings_buffer[IDX_SETTINGS_COUNT + 1 ];
66
73
double session_state_buffer[IDX_SESSION_STATE_COUNT];
@@ -120,10 +127,10 @@ ssize_t Http2Session::OnCallbackPadding(size_t frameLen,
120
127
121
128
if (object ()->Has (context, env ()->ongetpadding_string ()).FromJust ()) {
122
129
uint32_t * buffer = env ()->http2_state_buffer ()->padding_buffer ;
123
- buffer[0 ] = frameLen;
124
- buffer[1 ] = maxPayloadLen;
130
+ buffer[PADDING_BUF_FRAME_LENGTH ] = frameLen;
131
+ buffer[PADDING_BUF_MAX_PAYLOAD_LENGTH ] = maxPayloadLen;
125
132
MakeCallback (env ()->ongetpadding_string (), 0 , nullptr );
126
- uint32_t retval = buffer[2 ];
133
+ uint32_t retval = buffer[PADDING_BUF_RETURN_VALUE ];
127
134
retval = retval <= maxPayloadLen ? retval : maxPayloadLen;
128
135
retval = retval >= frameLen ? retval : frameLen;
129
136
CHECK_GE (retval, frameLen);
@@ -1167,6 +1174,10 @@ void Initialize(Local<Object> target,
1167
1174
SET_STATE_TYPEDARRAY (" optionsBuffer" , Uint32Array, options_buffer);
1168
1175
#undef SET_STATE_TYPEDARRAY
1169
1176
1177
+ NODE_DEFINE_CONSTANT (target, PADDING_BUF_FRAME_LENGTH);
1178
+ NODE_DEFINE_CONSTANT (target, PADDING_BUF_MAX_PAYLOAD_LENGTH);
1179
+ NODE_DEFINE_CONSTANT (target, PADDING_BUF_RETURN_VALUE);
1180
+
1170
1181
// Method to fetch the nghttp2 string description of an nghttp2 error code
1171
1182
env->SetMethod (target, " nghttp2ErrorString" , HttpErrorString);
1172
1183
0 commit comments