/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v26.2.0
src/quic/quic.cc
66 строк
2 KB
James M Snell
quic: fix a handful of bugs and missing functionality
31 мар 2026, 19:19
31 мар 2026, 19:19
57186e5
Код
Авторство
О чём код?
#if HAVE_OPENSSL && HAVE_QUIC #include "guard.h" #ifndef OPENSSL_NO_QUIC #include <base_object-inl.h> #include <env-inl.h> #include <memory_tracker-inl.h> #include <node_realm-inl.h> #include <node_sockaddr-inl.h> #include <v8.h> #include "bindingdata.h" #include "endpoint.h" #include "node_external_reference.h" #include <ngtcp2/ngtcp2_crypto_ossl.h> #include <mutex> namespace node { using v8::Context; using v8::Local; using v8::Object; using v8::ObjectTemplate; using v8::Value; namespace quic { namespace { std::once_flag crypto_init_flag; } // namespace void CreatePerIsolateProperties(IsolateData* isolate_data, Local<ObjectTemplate> target) { Endpoint::InitPerIsolate(isolate_data, target); Session::InitPerIsolate(isolate_data, target); Stream::InitPerIsolate(isolate_data, target); } void CreatePerContextProperties(Local<Object> target, Local<Value> unused, Local<Context> context, void* priv) { Realm* realm = Realm::GetCurrent(context); std::call_once(crypto_init_flag, ngtcp2_crypto_ossl_init); BindingData::InitPerContext(realm, target); Endpoint::InitPerContext(realm, target); Session::InitPerContext(realm, target); Stream::InitPerContext(realm, target); } void RegisterExternalReferences(ExternalReferenceRegistry* registry) { BindingData::RegisterExternalReferences(registry); Endpoint::RegisterExternalReferences(registry); Session::RegisterExternalReferences(registry); Stream::RegisterExternalReferences(registry); } } // namespace quic } // namespace node NODE_BINDING_CONTEXT_AWARE_INTERNAL(quic, node::quic::CreatePerContextProperties) NODE_BINDING_PER_ISOLATE_INIT(quic, node::quic::CreatePerIsolateProperties) NODE_BINDING_EXTERNAL_REFERENCE(quic, node::quic::RegisterExternalReferences) #endif // OPENSSL_NO_QUIC #endif // HAVE_OPENSSL && HAVE_QUIC