diff --git a/doc/api/errors.md b/doc/api/errors.md
index 3d4f6c7462..812d6adf66 100644
--- a/doc/api/errors.md
+++ b/doc/api/errors.md
@@ -1703,13 +1703,6 @@ TBD
TBD
-
-### `ERR_QUIC_UNAVAILABLE`
-
-> Stabililty: 1 - Experimental
-
-TBD
-
### `ERR_QUICCLIENTSESSION_FAILED`
diff --git a/lib/internal/errors.js b/lib/internal/errors.js
index 5be38c49b8..f1883e97dc 100644
--- a/lib/internal/errors.js
+++ b/lib/internal/errors.js
@@ -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}`;
diff --git a/lib/internal/quic/util.js b/lib/internal/quic/util.js
index d6e5dc1069..a394730cc5 100644
--- a/lib/internal/quic/util.js
+++ b/lib/internal/quic/util.js
@@ -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');
@@ -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,
diff --git a/lib/net.js b/lib/net.js
index fc7e68a294..edb508cfd5 100644
--- a/lib/net.js
+++ b/lib/net.js
@@ -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
diff --git a/src/aliased_buffer.h b/src/aliased_buffer.h
index f82ec153bd..8c9a6f5473 100644
--- a/src/aliased_buffer.h
+++ b/src/aliased_buffer.h
@@ -32,31 +32,6 @@ template ::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 ab =
- v8::ArrayBuffer::New(
- isolate_,
- buffer,
- size_in_bytes);
-
- v8::Local js_array = V8T::New(ab, byte_offset_, count);
- js_array_ = v8::Global(isolate, js_array);
- }
-
AliasedBufferBase(v8::Isolate* isolate, const size_t count)
: isolate_(isolate), count_(count), byte_offset_(0) {
CHECK_GT(count, 0);
@@ -199,6 +174,14 @@ class AliasedBufferBase {
return buffer_;
}
+ /**
+ * Get the underlying native buffer as a cast to T.
+ **/
+ template
+ inline T* GetNativeBuffer() {
+ return reinterpret_cast(&buffer_);
+ }
+
/**
* Synonym for GetBuffer()
*/
diff --git a/src/quic/node_quic.cc b/src/quic/node_quic.cc
index 4a639c40fc..e809fe78f4 100644
--- a/src/quic/node_quic.cc
+++ b/src/quic/node_quic.cc
@@ -191,7 +191,7 @@ void Initialize(Local