Node.js  v8.x
Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine
node_http2.cc File Reference
#include "node.h"
#include "node_buffer.h"
#include "node_http2.h"
Include dependency graph for node_http2.cc:

Go to the source code of this file.

Data Structures

struct  http2_state
 

Namespaces

 node
 
 node::http2
 

Macros

#define SET_STATE_TYPEDARRAY(name, type, field)
 
#define STRING_CONSTANT(NAME, VALUE)   NODE_DEFINE_STRING_CONSTANT(constants, "HTTP2_HEADER_" # NAME, VALUE);
 
#define STRING_CONSTANT(NAME, VALUE)   NODE_DEFINE_STRING_CONSTANT(constants, "HTTP2_METHOD_" # NAME, VALUE);
 
#define V(name, _)   NODE_DEFINE_CONSTANT(constants, HTTP_STATUS_##name);
 

Enumerations

enum  Http2SettingsIndex {
  IDX_SETTINGS_HEADER_TABLE_SIZE, IDX_SETTINGS_ENABLE_PUSH, IDX_SETTINGS_INITIAL_WINDOW_SIZE, IDX_SETTINGS_MAX_FRAME_SIZE,
  IDX_SETTINGS_MAX_CONCURRENT_STREAMS, IDX_SETTINGS_MAX_HEADER_LIST_SIZE, IDX_SETTINGS_COUNT
}
 
enum  Http2SessionStateIndex {
  IDX_SESSION_STATE_EFFECTIVE_LOCAL_WINDOW_SIZE, IDX_SESSION_STATE_EFFECTIVE_RECV_DATA_LENGTH, IDX_SESSION_STATE_NEXT_STREAM_ID, IDX_SESSION_STATE_LOCAL_WINDOW_SIZE,
  IDX_SESSION_STATE_LAST_PROC_STREAM_ID, IDX_SESSION_STATE_REMOTE_WINDOW_SIZE, IDX_SESSION_STATE_OUTBOUND_QUEUE_SIZE, IDX_SESSION_STATE_HD_DEFLATE_DYNAMIC_TABLE_SIZE,
  IDX_SESSION_STATE_HD_INFLATE_DYNAMIC_TABLE_SIZE, IDX_SESSION_STATE_COUNT
}
 
enum  Http2StreamStateIndex {
  IDX_STREAM_STATE, IDX_STREAM_STATE_WEIGHT, IDX_STREAM_STATE_SUM_DEPENDENCY_WEIGHT, IDX_STREAM_STATE_LOCAL_CLOSE,
  IDX_STREAM_STATE_REMOTE_CLOSE, IDX_STREAM_STATE_LOCAL_WINDOW_SIZE, IDX_STREAM_STATE_COUNT
}
 
enum  Http2OptionsIndex {
  IDX_OPTIONS_MAX_DEFLATE_DYNAMIC_TABLE_SIZE, IDX_OPTIONS_MAX_RESERVED_REMOTE_STREAMS, IDX_OPTIONS_MAX_SEND_HEADER_BLOCK_LENGTH, IDX_OPTIONS_PEER_MAX_CONCURRENT_STREAMS,
  IDX_OPTIONS_PADDING_STRATEGY, IDX_OPTIONS_FLAGS
}
 
enum  Http2PaddingBufferFields { PADDING_BUF_FRAME_LENGTH, PADDING_BUF_MAX_PAYLOAD_LENGTH, PADDING_BUF_RETURN_VALUE, PADDING_BUF_FIELD_COUNT }
 

Functions

void HttpErrorString (const FunctionCallbackInfo< Value > &args)
 
void PackSettings (const FunctionCallbackInfo< Value > &args)
 
void RefreshDefaultSettings (const FunctionCallbackInfo< Value > &args)
 
template<get_setting fn>
void RefreshSettings (const FunctionCallbackInfo< Value > &args)
 
void RefreshSessionState (const FunctionCallbackInfo< Value > &args)
 
void RefreshStreamState (const FunctionCallbackInfo< Value > &args)
 
void FreeDataChunk (char *data, void *hint)
 
void Initialize (Local< Object > target, Local< Value > unused, Local< Context > context, void *priv)
 

Variables

Freelist< nghttp2_data_chunk_t, FREELIST_MAX > data_chunk_free_list
 
Freelist< Nghttp2Stream, FREELIST_MAX > stream_free_list
 
Freelist< nghttp2_header_list, FREELIST_MAX > header_free_list
 
Freelist< nghttp2_data_chunks_t, FREELIST_MAX > data_chunks_free_list
 

Macro Definition Documentation

◆ SET_STATE_TYPEDARRAY

#define SET_STATE_TYPEDARRAY (   name,
  type,
  field 
)
Value:
target->Set(context, \
FIXED_ONE_BYTE_STRING(isolate, (name)), \
type::New(state_ab, \
offsetof(http2_state, field), \
arraysize(state->field))) \
.FromJust()
MaybeLocal< Object > New(Isolate *isolate, Local< String > string, enum encoding enc)
Definition: node_buffer.cc:241

Referenced by node::http2::Initialize().

◆ STRING_CONSTANT [1/2]

#define STRING_CONSTANT (   NAME,
  VALUE 
)    NODE_DEFINE_STRING_CONSTANT(constants, "HTTP2_HEADER_" # NAME, VALUE);

Referenced by node::http2::Initialize().

◆ STRING_CONSTANT [2/2]

#define STRING_CONSTANT (   NAME,
  VALUE 
)    NODE_DEFINE_STRING_CONSTANT(constants, "HTTP2_METHOD_" # NAME, VALUE);

◆ V

#define V (   name,
 
)    NODE_DEFINE_CONSTANT(constants, HTTP_STATUS_##name);

Referenced by node::http2::Initialize().