Skip to content
This repository was archived by the owner on May 4, 2019. It is now read-only.

Commit 479ea17

Browse files
mostroverkhovrobertroeser
authored andcommitted
Update BrokerManagementService & ClusterManagementService IDLs (#66)
* update broker management service idl add cluster management service idl * BrokerManagementService IDL: join provided brokers * cleanup * fix wording
1 parent ef2879b commit 479ea17

File tree

3 files changed

+49
-2
lines changed

3 files changed

+49
-2
lines changed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
group=io.netifi.proteus
2-
version=1.6.0
2+
version=1.6.1

proteus-broker-mgmt-idl/src/main/proto/proteus/broker_mgmt.proto

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,25 @@ message Brokers {
3030
repeated io.netifi.proteus.broker.info.Broker brokers = 1;
3131
}
3232

33+
message Connection {
34+
io.netifi.proteus.broker.info.Id id = 1;
35+
string group = 2;
36+
}
37+
3338
service BrokerManagementService {
3439
// Shutdowns down a broker process
3540
rpc shutdown (google.protobuf.Empty) returns (google.protobuf.Empty) {}
3641

42+
// Shutdowns down a broker process after draining connections with timeout
43+
rpc shutdownGracefully (google.protobuf.Empty) returns (google.protobuf.Empty) {}
44+
3745
// Broker leaves the cluster, but stays running
3846
rpc leave (google.protobuf.Empty) returns (Ack) {}
3947

40-
// Rejoins the cluster it has seed information for
48+
// Broker drains connections and leaves the cluster, then joins cluster again
49+
rpc restart (google.protobuf.Empty) returns (Ack) {}
50+
51+
// Broker joins cluster It previously left
4152
rpc rejoin (google.protobuf.Empty) returns (Ack) {}
4253

4354
// Tells the Broker to join using the provided Brokers
@@ -60,4 +71,7 @@ service BrokerManagementService {
6071

6172
// Closes all connections on the broker including broker to broker connections
6273
rpc closeAll (google.protobuf.Empty) returns (Ack) {}
74+
75+
// Closes connection on the broker by its id. Connection group is optional
76+
rpc closeConnection(stream Connection) returns (Ack) {}
6377
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
//
2+
// Copyright 2019 The Proteus Authors
3+
//
4+
// Licensed under the Apache License, Version 2.0 (the "License");
5+
// you may not use this file except in compliance with the License.
6+
// You may obtain a copy of the License at
7+
//
8+
// http://www.apache.org/licenses/LICENSE-2.0
9+
//
10+
// Unless required by applicable law or agreed to in writing, software
11+
// distributed under the License is distributed on an "AS IS" BASIS,
12+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
// See the License for the specific language governing permissions and
14+
// limitations under the License.
15+
syntax = "proto3";
16+
17+
package io.netifi.proteus.broker.info;
18+
19+
import "google/protobuf/empty.proto";
20+
import "proteus/broker_mgmt.proto";
21+
import "proteus/broker_info.proto";
22+
23+
option java_package = "io.netifi.proteus.cluster.mgmt";
24+
option java_outer_classname = "ClusterManagement";
25+
option java_multiple_files = true;
26+
27+
service ClusterManagementService {
28+
// Closes connections to a specific set of destinations across broker cluster
29+
rpc closeDestination (stream io.netifi.proteus.broker.info.Destination) returns (Ack) {}
30+
31+
// Closes all connections to a specific group cluster-wide
32+
rpc closeGroup (stream io.netifi.proteus.broker.info.Group) returns (Ack) {}
33+
}

0 commit comments

Comments
 (0)