()
| 133 | } |
| 134 | |
| 135 | func serverComplex() *CryptoListener { |
| 136 | if err := rpc.Register(new(FooComplex)); err != nil { |
| 137 | log.Error("failed to register RPC method") |
| 138 | } |
| 139 | |
| 140 | listener, err := NewCryptoListener("tcp", serviceComplex, simpleCipherHandler) |
| 141 | if err != nil { |
| 142 | log.Errorf("server: listen: %s", err) |
| 143 | } |
| 144 | log.Debug("server: listening") |
| 145 | go func() { |
| 146 | for { |
| 147 | conn, err := listener.Accept() |
| 148 | if err != nil { |
| 149 | log.Debugf("server: accept: %s", err) |
| 150 | break |
| 151 | } |
| 152 | log.Debugf("server: accepted from %s", conn.RemoteAddr()) |
| 153 | go handleClient(conn) |
| 154 | } |
| 155 | }() |
| 156 | return listener |
| 157 | } |
| 158 | |
| 159 | func clientComplex(pass string, args *QueryComplex) (ret *ResultComplex, err error) { |
| 160 | cipher := NewCipher([]byte(pass)) |
no test coverage detected