// GetSrvKeyspace is the RPC version of vtgateservice.VTGateService method func (vtg *VTGate) GetSrvKeyspace(ctx context.Context, request *pb.GetSrvKeyspaceRequest) (response *pb.GetSrvKeyspaceResponse, err error) { defer vtg.server.HandlePanic(&err) sk, err := vtg.server.GetSrvKeyspace(ctx, request.Keyspace) if err != nil { return nil, err } return &pb.GetSrvKeyspaceResponse{ SrvKeyspace: topo.SrvKeyspaceToProto(sk), }, nil }
// GetSrvKeyspace is the RPC version of vtgateservice.VTGateService method func (vtg *VTGateP3) GetSrvKeyspace(ctx context.Context, request *pb.GetSrvKeyspaceRequest, response *pb.GetSrvKeyspaceResponse) (err error) { defer vtg.server.HandlePanic(&err) ctx, cancel := context.WithDeadline(ctx, time.Now().Add(*rpcTimeout)) defer cancel() ks, err := vtg.server.GetSrvKeyspace(ctx, request.Keyspace) if err != nil { return err } response.SrvKeyspace = topo.SrvKeyspaceToProto(ks) return nil }
// UpdateSrvKeyspace is part of the topo.Server interface func (zkts *Server) UpdateSrvKeyspace(ctx context.Context, cell, keyspace string, srvKeyspace *topo.SrvKeyspace) error { path := zkPathForVtKeyspace(cell, keyspace) data, err := json.MarshalIndent(topo.SrvKeyspaceToProto(srvKeyspace), "", " ") if err != nil { return err } _, err = zkts.zconn.Set(path, string(data), -1) if zookeeper.IsError(err, zookeeper.ZNONODE) { _, err = zk.CreateRecursive(zkts.zconn, path, string(data), 0, zookeeper.WorldACL(zookeeper.PERM_ALL)) } return err }
// UpdateSrvKeyspace implements topo.Server. func (s *Server) UpdateSrvKeyspace(ctx context.Context, cellName, keyspace string, srvKeyspace *topo.SrvKeyspace) error { cell, err := s.getCell(cellName) if err != nil { return err } data, err := json.MarshalIndent(topo.SrvKeyspaceToProto(srvKeyspace), "", " ") if err != nil { return err } _, err = cell.Set(srvKeyspaceFilePath(keyspace), string(data), 0 /* ttl */) return convertError(err) }