43 lines
1014 B
Go
43 lines
1014 B
Go
package tcp
|
|
|
|
import (
|
|
"crypto/tls"
|
|
"net"
|
|
|
|
"go.unistack.org/micro/v3/server"
|
|
)
|
|
|
|
// DefaultMaxMsgSize define maximum message size that server can send
|
|
// or receive. Default value is 8K
|
|
var DefaultMaxMsgSize = 1024 * 8
|
|
|
|
type (
|
|
maxMsgSizeKey struct{}
|
|
tlsAuth struct{}
|
|
maxConnKey struct{}
|
|
netListener struct{}
|
|
)
|
|
|
|
//
|
|
// MaxMsgSize set the maximum message in bytes the server can receive and
|
|
// send. Default maximum message size is 8K
|
|
//
|
|
func MaxMsgSize(s int) server.Option {
|
|
return server.SetOption(maxMsgSizeKey{}, s)
|
|
}
|
|
|
|
// AuthTLS should be used to setup a secure authentication using TLS
|
|
func AuthTLS(t *tls.Config) server.Option {
|
|
return server.SetOption(tlsAuth{}, t)
|
|
}
|
|
|
|
// MaxConn specifies maximum number of max simultaneous connections to server
|
|
func MaxConn(n int) server.Option {
|
|
return server.SetOption(maxConnKey{}, n)
|
|
}
|
|
|
|
// Listener specifies the net.Listener to use instead of the default
|
|
func Listener(l net.Listener) server.Option {
|
|
return server.SetOption(netListener{}, l)
|
|
}
|