24 lines
897 B
C#
24 lines
897 B
C#
namespace NATS.Server.JetStream.Api.Handlers;
|
|
|
|
public static class ClusterControlApiHandlers
|
|
{
|
|
public static JetStreamApiResponse HandleMetaLeaderStepdown(JetStream.Cluster.JetStreamMetaGroup meta)
|
|
{
|
|
meta.StepDown();
|
|
return JetStreamApiResponse.SuccessResponse();
|
|
}
|
|
|
|
public static JetStreamApiResponse HandleStreamLeaderStepdown(string subject, StreamManager streams)
|
|
{
|
|
if (!subject.StartsWith(JetStreamApiSubjects.StreamLeaderStepdown, StringComparison.Ordinal))
|
|
return JetStreamApiResponse.NotFound(subject);
|
|
|
|
var stream = subject[JetStreamApiSubjects.StreamLeaderStepdown.Length..].Trim();
|
|
if (stream.Length == 0)
|
|
return JetStreamApiResponse.NotFound(subject);
|
|
|
|
streams.StepDownStreamLeaderAsync(stream, default).GetAwaiter().GetResult();
|
|
return JetStreamApiResponse.SuccessResponse();
|
|
}
|
|
}
|