@@ -182,6 +182,9 @@ void UDPWrap::Initialize(Local<Object> target,
182182 SetProtoMethod (isolate, t, " setBroadcast" , SetBroadcast);
183183 SetProtoMethod (isolate, t, " setTTL" , SetTTL);
184184 SetProtoMethod (isolate, t, " bufferSize" , BufferSize);
185+ SetProtoMethodNoSideEffect (isolate, t, " getSendQueueSize" , GetSendQueueSize);
186+ SetProtoMethodNoSideEffect (
187+ isolate, t, " getSendQueueCount" , GetSendQueueCount);
185188
186189 t->Inherit (HandleWrap::GetConstructorTemplate (env));
187190
@@ -783,6 +786,23 @@ MaybeLocal<Object> UDPWrap::Instantiate(Environment* env,
783786 return env->udp_constructor_function ()->NewInstance (env->context ());
784787}
785788
789+ void UDPWrap::GetSendQueueSize (const FunctionCallbackInfo<Value>& args) {
790+ UDPWrap* wrap;
791+ ASSIGN_OR_RETURN_UNWRAP (
792+ &wrap, args.Holder (), args.GetReturnValue ().Set (UV_EBADF));
793+
794+ size_t size = uv_udp_get_send_queue_size (&wrap->handle_ );
795+ args.GetReturnValue ().Set (static_cast <double >(size));
796+ }
797+
798+ void UDPWrap::GetSendQueueCount (const FunctionCallbackInfo<Value>& args) {
799+ UDPWrap* wrap;
800+ ASSIGN_OR_RETURN_UNWRAP (
801+ &wrap, args.Holder (), args.GetReturnValue ().Set (UV_EBADF));
802+
803+ size_t count = uv_udp_get_send_queue_count (&wrap->handle_ );
804+ args.GetReturnValue ().Set (static_cast <double >(count));
805+ }
786806
787807} // namespace node
788808
0 commit comments