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) }