func (t *copyCatTransport) StartRaft(ctx context.Context, in *pb.StartRaftRequest) (*pb.StartRaftResponse, error) {
	// A raft backend is started in join mode but without specifying other peers.
	// It will just sit there and do nothing until a leader with higher term contacts it.
	// After that the new backend will try to respond to the messages it has been receiving and join the cluster.
	dsId, _ := parseIdFromProto(in.DataStructureId)
	_, err := t.membership.newDetachedRaftBackend(dsId, in.RaftIdToUse, t.config, in.AllRaftPeers)
	if err != nil {
		t.logger.Errorf("Couldn't create detached raft backend from request [%s]: %s", in.String(), err.Error())
	}
	return &pb.StartRaftResponse{
		RaftId:      in.RaftIdToUse,
		RaftAddress: t.myAddress,
	}, nil
}
//////////////////////////////////////////
////////////////////////////////
// SECTION FOR THE COPYCAT SERVICE
SECTION FOR THE COPYCAT SERVICE
////////////////////////////////////////// //////////////////////////////// // SECTION FOR THE COPYCAT SERVICE
func (t *copyCatTransport) StartRaft(ctx context.Context, in *pb.StartRaftRequest) (*pb.StartRaftResponse, error) {
	dsId, _ := parseIdFromProto(in.DataStructureId)
	_, err := t.membership.newDetachedRaftBackend(dsId, in.RaftIdToUse, t.config, in.AllRaftPeers)
	if err != nil {
		t.logger.Errorf("Couldn't create detached raft backend from request [%s]: %s", in.String(), err.Error())
	}
	return &pb.StartRaftResponse{
		RaftId:      in.RaftIdToUse,
		RaftAddress: t.myAddress,
	}, nil
}
func ( t * copyCatTransport ) StartRaft ( ctx context . Context , in * pb . StartRaftRequest ) ( * pb . StartRaftResponse , error ) { dsId , _ := parseIdFromProto ( in . DataStructureId ) _ , err := t . membership . newDetachedRaftBackend ( dsId , in . RaftIdToUse , t . config , in . AllRaftPeers ) if err != nil { t . logger . Errorf ( " " , in . String ( ) , err . Error ( ) ) } return & pb . StartRaftResponse { RaftId : in . RaftIdToUse , RaftAddress : t . myAddress , } , nil }
SECTION FOR THE COPYCAT SERVICE
SECTION FOR THE COPYCAT SERVICE
// A raft backend is started in join mode but without specifying other peers. // It will just sit there and do nothing until a leader with higher term contacts it. // After that the new backend will try to respond to the messages it has been receiving and join the cluster.