32 lines
562 B
Go
32 lines
562 B
Go
|
package client
|
||
|
|
||
|
import (
|
||
|
"crypto/tls"
|
||
|
"net"
|
||
|
"time"
|
||
|
|
||
|
cuc "git.loafle.net/commons_go/util/context"
|
||
|
)
|
||
|
|
||
|
type SocketBuilder interface {
|
||
|
SocketContext(parent cuc.Context) SocketContext
|
||
|
SocketHandler() SocketHandler
|
||
|
|
||
|
GetNetwork() string
|
||
|
GetAddress() string
|
||
|
GetTLSConfig() *tls.Config
|
||
|
|
||
|
GetKeepAlive() time.Duration
|
||
|
GetTimeout() time.Duration
|
||
|
GetLocalAddress() net.Addr
|
||
|
|
||
|
// Validate is check handler value
|
||
|
// If you override ths method, must call
|
||
|
//
|
||
|
// func (sh *SocketHandlers) Validate() {
|
||
|
// sh.SocketHandlers.Validate()
|
||
|
// ...
|
||
|
// }
|
||
|
Validate()
|
||
|
}
|