package client import ( "goRedisDLM/engine" "net/rpc" ) func CreateRpcWorker(clients chan *rpc.Client) func(request engine.Request) (engine.Response, error) { return func(request engine.Request) (engine.Response, error) { client := <-clients return RpcWorker(client, request) } } func RpcWorker(client *rpc.Client, request engine.Request) (engine.Response, error) { out := engine.Response{} err := client.Call("Inventory.Work", request, &out) if err != nil { return engine.Response{Id: "err"}, err } return out, nil }