From e4574c7d6fc9e9e04572b9dcef5b96cf1ea33084 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Thu, 16 Jul 2015 00:06:57 -0700 Subject: [PATCH] Add File() method to Ratelimitlistener for extracting underlying fd() --- pkg/server/minhttp/listen.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkg/server/minhttp/listen.go b/pkg/server/minhttp/listen.go index 3053c581c..5792f95e1 100644 --- a/pkg/server/minhttp/listen.go +++ b/pkg/server/minhttp/listen.go @@ -18,6 +18,7 @@ package minhttp import ( "net" + "os" "sync" "github.com/minio/minio/pkg/iodine" @@ -37,6 +38,12 @@ type rateLimitListener struct { func (l *rateLimitListener) accept() { l.sem <- struct{}{} } func (l *rateLimitListener) release() { <-l.sem } +// File - necessary to expose underlying socket fd +func (l *rateLimitListener) File() (f *os.File, err error) { + return l.Listener.(fileListener).File() +} + +// Accept - accept method for accepting new connections func (l *rateLimitListener) Accept() (net.Conn, error) { l.accept()