Fixes nghttp2 unique_ptr types to use a copyable/movable deleter type.

This makes it easier to reassign pointer values.

PiperOrigin-RevId: 381923047
diff --git a/http2/adapter/callback_visitor.cc b/http2/adapter/callback_visitor.cc
index f1ff90a..f0dcd0b 100644
--- a/http2/adapter/callback_visitor.cc
+++ b/http2/adapter/callback_visitor.cc
@@ -45,7 +45,7 @@
   nghttp2_session_callbacks* c;
   nghttp2_session_callbacks_new(&c);
   *c = callbacks;
-  callbacks_.reset(c);
+  callbacks_ = MakeCallbacksPtr(c);
 }
 
 ssize_t CallbackVisitor::OnReadyToSend(absl::string_view serialized) {
diff --git a/http2/adapter/nghttp2_session.cc b/http2/adapter/nghttp2_session.cc
index 1809f3e..9868958 100644
--- a/http2/adapter/nghttp2_session.cc
+++ b/http2/adapter/nghttp2_session.cc
@@ -18,7 +18,7 @@
       nghttp2_session_server_new2(&session, callbacks.get(), userdata, options);
       break;
   }
-  session_.reset(session);
+  session_ = MakeSessionPtr(session);
 }
 
 NgHttp2Session::~NgHttp2Session() {
diff --git a/http2/adapter/nghttp2_test.cc b/http2/adapter/nghttp2_test.cc
index f183f7f..e489a99 100644
--- a/http2/adapter/nghttp2_test.cc
+++ b/http2/adapter/nghttp2_test.cc
@@ -75,7 +75,7 @@
                           s->ReadNext(length));
           return 0;
         });
-    session_.reset(ptr);
+    session_ = MakeSessionPtr(ptr);
   }
 
   testing::StrictMock<MockNghttp2Callbacks> mock_callbacks_;
diff --git a/http2/adapter/nghttp2_util.cc b/http2/adapter/nghttp2_util.cc
index 9a136e9..fc9ca59 100644
--- a/http2/adapter/nghttp2_util.cc
+++ b/http2/adapter/nghttp2_util.cc
@@ -31,11 +31,11 @@
 
 nghttp2_session_callbacks_unique_ptr MakeCallbacksPtr(
     nghttp2_session_callbacks* callbacks) {
-  return nghttp2_session_callbacks_unique_ptr(callbacks, DeleteCallbacks);
+  return nghttp2_session_callbacks_unique_ptr(callbacks, &DeleteCallbacks);
 }
 
 nghttp2_session_unique_ptr MakeSessionPtr(nghttp2_session* session) {
-  return nghttp2_session_unique_ptr(session, DeleteSession);
+  return nghttp2_session_unique_ptr(session, &DeleteSession);
 }
 
 uint8_t* ToUint8Ptr(char* str) { return reinterpret_cast<uint8_t*>(str); }
diff --git a/http2/adapter/nghttp2_util.h b/http2/adapter/nghttp2_util.h
index bb093e0..78d4702 100644
--- a/http2/adapter/nghttp2_util.h
+++ b/http2/adapter/nghttp2_util.h
@@ -21,8 +21,8 @@
     NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE;
 inline constexpr int kCancelStatus = NGHTTP2_ERR_CANCEL;
 
-using CallbacksDeleter = void (&)(nghttp2_session_callbacks*);
-using SessionDeleter = void (&)(nghttp2_session*);
+using CallbacksDeleter = void (*)(nghttp2_session_callbacks*);
+using SessionDeleter = void (*)(nghttp2_session*);
 
 using nghttp2_session_callbacks_unique_ptr =
     std::unique_ptr<nghttp2_session_callbacks, CallbacksDeleter>;