Skip to content
This repository was archived by the owner on Aug 11, 2020. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions doc/api/errors.md
Original file line number Diff line number Diff line change
Expand Up @@ -1703,13 +1703,6 @@ TBD

TBD

<a id="ERR_QUIC_UNAVAILABLE"></a>
### `ERR_QUIC_UNAVAILABLE`

> Stabililty: 1 - Experimental

TBD

<a id="ERR_QUICCLIENTSESSION_FAILED"></a>
### `ERR_QUICCLIENTSESSION_FAILED`

Expand Down
1 change: 0 additions & 1 deletion lib/internal/errors.js
Original file line number Diff line number Diff line change
Expand Up @@ -1335,7 +1335,6 @@ E('ERR_QUIC_ERROR', function(code, family) {
return `QUIC session closed with ${familyType} error code ${code}`;
}, Error);
E('ERR_QUIC_TLS13_REQUIRED', 'QUIC requires TLS version 1.3', Error);
E('ERR_QUIC_UNAVAILABLE', 'QUIC is unavailable', Error);
E('ERR_REQUIRE_ESM',
(filename, parentPath = null, packageJsonPath = null) => {
let msg = `Must use import to load ES Module: ${filename}`;
Expand Down
4 changes: 2 additions & 2 deletions lib/internal/quic/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ const {
NGTCP2_MAX_CIDLEN,
NGTCP2_MIN_CIDLEN,
QUIC_PREFERRED_ADDRESS_IGNORE,
QUIC_PREFERRED_ADDRESS_ACCEPT,
QUIC_PREFERRED_ADDRESS_USE,
QUIC_ERROR_APPLICATION,
}
} = internalBinding('quic');
Expand Down Expand Up @@ -346,7 +346,7 @@ function validateQuicClientSessionOptions(options = {}) {
port,
preferredAddressPolicy:
preferredAddressPolicy === 'accept' ?
QUIC_PREFERRED_ADDRESS_ACCEPT :
QUIC_PREFERRED_ADDRESS_USE :
QUIC_PREFERRED_ADDRESS_IGNORE,
remoteTransportParams,
requestOCSP,
Expand Down
1 change: 0 additions & 1 deletion lib/net.js
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@ const {
ERR_INVALID_FD_TYPE,
ERR_INVALID_IP_ADDRESS,
ERR_INVALID_OPT_VALUE,
ERR_QUIC_UNAVAILABLE,
ERR_SERVER_ALREADY_LISTEN,
ERR_SERVER_NOT_RUNNING,
ERR_SOCKET_CLOSED
Expand Down
33 changes: 8 additions & 25 deletions src/aliased_buffer.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,31 +32,6 @@ template <class NativeT,
typename = std::enable_if_t<std::is_scalar<NativeT>::value>>
class AliasedBufferBase {
public:
/**
* Create an AliasedBufferBase over an existing buffer
*/
AliasedBufferBase(
v8::Isolate* isolate,
const size_t count,
NativeT* buffer) :
isolate_(isolate),
count_(count),
byte_offset_(0),
buffer_(buffer) {
CHECK_GT(count, 0);
const v8::HandleScope handle_scope(isolate_);
const size_t size_in_bytes =
MultiplyWithOverflowCheck(sizeof(NativeT), count);
v8::Local<v8::ArrayBuffer> ab =
v8::ArrayBuffer::New(
isolate_,
buffer,
size_in_bytes);

v8::Local<V8T> js_array = V8T::New(ab, byte_offset_, count);
js_array_ = v8::Global<V8T>(isolate, js_array);
}

AliasedBufferBase(v8::Isolate* isolate, const size_t count)
: isolate_(isolate), count_(count), byte_offset_(0) {
CHECK_GT(count, 0);
Expand Down Expand Up @@ -199,6 +174,14 @@ class AliasedBufferBase {
return buffer_;
}

/**
* Get the underlying native buffer as a cast to T.
**/
template <typename T>
inline T* GetNativeBuffer() {
return reinterpret_cast<T*>(&buffer_);
}

/**
* Synonym for GetBuffer()
*/
Expand Down
2 changes: 1 addition & 1 deletion src/quic/node_quic.cc
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ void Initialize(Local<Object> target,
V(QUIC_ERROR_APPLICATION) \
V(QUIC_ERROR_CRYPTO) \
V(QUIC_ERROR_SESSION) \
V(QUIC_PREFERRED_ADDRESS_ACCEPT) \
V(QUIC_PREFERRED_ADDRESS_USE) \
V(QUIC_PREFERRED_ADDRESS_IGNORE) \
V(QUICCLIENTSESSION_OPTION_REQUEST_OCSP) \
V(QUICCLIENTSESSION_OPTION_VERIFY_HOSTNAME_IDENTITY) \
Expand Down
2 changes: 1 addition & 1 deletion src/quic/node_quic_session-inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -502,7 +502,7 @@ void QuicSession::StreamDataBlocked(int64_t stream_id) {
// possible strategies that we currently support via user
// configuration: use the preferred address or ignore it.
void QuicSession::SelectPreferredAddress(
const QuicPreferredAddress& preferred_address) {
const PreferredAddress& preferred_address) {
CHECK(!is_server());
preferred_address_strategy_(this, preferred_address);
}
Expand Down
24 changes: 12 additions & 12 deletions src/quic/node_quic_session.cc
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,7 @@ void QuicSessionListener::OnSessionSilentClose(

void QuicSessionListener::OnUsePreferredAddress(
int family,
const QuicPreferredAddress& preferred_address) {
const PreferredAddress& preferred_address) {
if (previous_listener_ != nullptr)
previous_listener_->OnUsePreferredAddress(family, preferred_address);
}
Expand Down Expand Up @@ -677,23 +677,23 @@ void JSQuicSessionListener::OnSessionSilentClose(

void JSQuicSessionListener::OnUsePreferredAddress(
int family,
const QuicPreferredAddress& preferred_address) {
const PreferredAddress& preferred_address) {
Environment* env = session()->env();
HandleScope scope(env->isolate());
Local<Context> context = env->context();
Context::Scope context_scope(context);

std::string hostname = family == AF_INET ?
preferred_address.preferred_ipv4_address():
preferred_address.preferred_ipv6_address();
int16_t port =
preferred_address.ipv4_address():
preferred_address.ipv6_address();
uint16_t port =
family == AF_INET ?
preferred_address.preferred_ipv4_port() :
preferred_address.preferred_ipv6_port();
preferred_address.ipv4_port() :
preferred_address.ipv6_port();

Local<Value> argv[] = {
OneByteString(env->isolate(), hostname.c_str()),
Integer::New(env->isolate(), port),
Integer::NewFromUnsigned(env->isolate(), port),
Integer::New(env->isolate(), family)
};

Expand Down Expand Up @@ -2203,13 +2203,13 @@ bool QuicSession::SendConnectionClose() {

void QuicSession::IgnorePreferredAddressStrategy(
QuicSession* session,
const QuicPreferredAddress& preferred_address) {
const PreferredAddress& preferred_address) {
Debug(session, "Ignoring server preferred address");
}

void QuicSession::UsePreferredAddressStrategy(
QuicSession* session,
const QuicPreferredAddress& preferred_address) {
const PreferredAddress& preferred_address) {
static constexpr int idx =
IDX_QUIC_SESSION_STATE_USE_PREFERRED_ADDRESS_ENABLED;
int family = session->socket()->local_address().family();
Expand Down Expand Up @@ -3203,7 +3203,7 @@ int QuicSession::OnSelectPreferredAddress(
// even in such a failure, we debug log and ignore it.
// If the preferred address is not selected, dest remains
// unchanged.
QuicPreferredAddress preferred_address(session->env(), dest, paddr);
PreferredAddress preferred_address(session->env(), dest, paddr);
session->SelectPreferredAddress(preferred_address);
return 0;
}
Expand Down Expand Up @@ -3634,7 +3634,7 @@ void NewQuicClientSession(const FunctionCallbackInfo<Value>& args) {
CHECK(args[ARG_IDX::PREFERRED_ADDRESS_POLICY]->Int32Value(
env->context()).To(&preferred_address_policy));
switch (preferred_address_policy) {
case QUIC_PREFERRED_ADDRESS_ACCEPT:
case QUIC_PREFERRED_ADDRESS_USE:
preferred_address_strategy = QuicSession::UsePreferredAddressStrategy;
break;
default:
Expand Down
Loading