From 38b336e1bb08f7b33ede9b86493947e0635e0ad1 Mon Sep 17 00:00:00 2001 From: crusader Date: Thu, 30 Nov 2017 18:35:23 +0900 Subject: [PATCH] ing --- client/rwc/socket/client_rwc_handlers.go | 26 ++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/client/rwc/socket/client_rwc_handlers.go b/client/rwc/socket/client_rwc_handlers.go index 5944db5..7a04ba7 100644 --- a/client/rwc/socket/client_rwc_handlers.go +++ b/client/rwc/socket/client_rwc_handlers.go @@ -1,28 +1,38 @@ package socket import ( + "git.loafle.net/commons_go/logging" "git.loafle.net/commons_go/rpc/client" "git.loafle.net/commons_go/rpc/protocol" - "git.loafle.net/commons_go/server" + csc "git.loafle.net/commons_go/server/client" ) -func New() client.ClientReadWriteCloseHandler { - return &ClientReadWriteCloseHandlers{} +func New(socketBuilder csc.SocketBuilder) client.ClientReadWriteCloseHandler { + return &ClientReadWriteCloseHandlers{ + SocketBuilder: socketBuilder, + } } type ClientReadWriteCloseHandlers struct { client.ClientReadWriteCloseHandlers + + SocketBuilder csc.SocketBuilder +} + +func (crwch *ClientReadWriteCloseHandlers) Connect(clientCTX client.ClientContext) (interface{}, error) { + + return csc.NewSocket(crwch.SocketBuilder, clientCTX) } func (crwch *ClientReadWriteCloseHandlers) ReadResponse(clientCTX client.ClientContext, codec protocol.ClientCodec, conn interface{}) (protocol.ClientResponseCodec, error) { - soc := conn.(server.Socket) + soc := conn.(csc.Socket) resCodec, err := codec.NewResponse(soc) return resCodec, err } func (crwch *ClientReadWriteCloseHandlers) WriteRequest(clientCTX client.ClientContext, codec protocol.ClientCodec, conn interface{}, method string, params interface{}, id interface{}) error { - soc := conn.(server.Socket) + soc := conn.(csc.Socket) if wErr := codec.WriteRequest(soc, method, params, id); nil != wErr { return wErr @@ -32,10 +42,14 @@ func (crwch *ClientReadWriteCloseHandlers) WriteRequest(clientCTX client.ClientC } func (crwch *ClientReadWriteCloseHandlers) Disconnect(clientCTX client.ClientContext, conn interface{}) { - soc := conn.(server.Socket) + soc := conn.(csc.Socket) soc.Close() } func (crwch *ClientReadWriteCloseHandlers) Validate() { crwch.ClientReadWriteCloseHandlers.Validate() + + if nil == crwch.SocketBuilder { + logging.Logger().Panic("RPC Client: SocketBuilder must be specified") + } }