ing
This commit is contained in:
45
client/container/container.go
Normal file
45
client/container/container.go
Normal file
@@ -0,0 +1,45 @@
|
||||
package container
|
||||
|
||||
import (
|
||||
crc "git.loafle.net/commons/rpc-go/client"
|
||||
crpj "git.loafle.net/commons/rpc-go/protocol/json"
|
||||
crr "git.loafle.net/commons/rpc-go/registry"
|
||||
csc "git.loafle.net/commons/server-go/client"
|
||||
cssnc "git.loafle.net/commons/server-go/socket/net/client"
|
||||
)
|
||||
|
||||
func newConnector(name string) (*cssnc.Connectors, error) {
|
||||
connector := &cssnc.Connectors{
|
||||
Network: "tcp4",
|
||||
Address: "",
|
||||
}
|
||||
connector.ReconnectInterval = 5
|
||||
connector.ReconnectTryTime = 10
|
||||
connector.MaxMessageSize = 4096
|
||||
connector.ReadBufferSize = 4096
|
||||
connector.WriteBufferSize = 4096
|
||||
connector.PongTimeout = 60
|
||||
connector.PingTimeout = 10
|
||||
connector.PingPeriod = 9
|
||||
|
||||
connector.Name = name
|
||||
|
||||
return connector, nil
|
||||
}
|
||||
|
||||
func newClient(name string, connector csc.Connector, services []interface{}) *crc.Client {
|
||||
codec := crpj.NewClientCodec()
|
||||
|
||||
var rpcRegistry crr.RPCRegistry
|
||||
if nil != services && 0 < len(services) {
|
||||
rpcRegistry = crr.NewRPCRegistry()
|
||||
rpcRegistry.RegisterServices(services...)
|
||||
}
|
||||
|
||||
return &crc.Client{
|
||||
Connector: connector,
|
||||
Codec: codec,
|
||||
RPCInvoker: rpcRegistry,
|
||||
Name: name,
|
||||
}
|
||||
}
|
||||
22
client/container/discovery.go
Normal file
22
client/container/discovery.go
Normal file
@@ -0,0 +1,22 @@
|
||||
package container
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
crc "git.loafle.net/commons/rpc-go/client"
|
||||
"git.loafle.net/overflow/probe/config"
|
||||
)
|
||||
|
||||
func NewDiscovery(services ...interface{}) (*crc.Client, error) {
|
||||
config := config.GetConfig()
|
||||
if nil == config {
|
||||
return nil, fmt.Errorf("Config is not available")
|
||||
}
|
||||
|
||||
connector, err := newConnector("Probe")
|
||||
if nil != err {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return newClient("Probe", connector, services), nil
|
||||
}
|
||||
Reference in New Issue
Block a user