(pass string, args *QueryComplex)
| 157 | } |
| 158 | |
| 159 | func clientComplex(pass string, args *QueryComplex) (ret *ResultComplex, err error) { |
| 160 | cipher := NewCipher([]byte(pass)) |
| 161 | |
| 162 | conn, err := Dial("tcp", serviceComplex, cipher) |
| 163 | if err != nil { |
| 164 | log.Errorf("client: dial: %s", err) |
| 165 | return nil, err |
| 166 | } |
| 167 | defer func() { _ = conn.Close() }() |
| 168 | |
| 169 | log.Debugln("client: connected to: ", conn.RemoteAddr()) |
| 170 | log.Debugln("client: LocalAddr: ", conn.LocalAddr()) |
| 171 | rpcClient := rpc.NewClient(conn) |
| 172 | res := new(ResultComplex) |
| 173 | |
| 174 | if err := rpcClient.Call("FooComplex.Bar", args, &res); err != nil { |
| 175 | log.Errorf("failed to call RPC %v", err) |
| 176 | return nil, err |
| 177 | } |
| 178 | return res, err |
| 179 | } |
| 180 | |
| 181 | func handleClient(conn net.Conn) { |
| 182 | defer func() { _ = conn.Close() }() |
no test coverage detected