pekko/multi-node-testkit/src/main/protobuf/TestConductorProtocol.proto

79 lines
1.5 KiB
Protocol Buffer

/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* license agreements; and to You under the Apache License, version 2.0:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* This file is part of the Apache Pekko project, derived from Akka.
*/
/*
* Copyright (C) 2009-2022 Lightbend Inc. <https://www.lightbend.com>
*/
syntax = "proto2";
option java_package = "org.apache.pekko.remote.testconductor";
option optimize_for = SPEED;
message Wrapper {
optional Hello hello = 1;
optional EnterBarrier barrier = 2;
optional InjectFailure failure = 3;
optional string done = 4;
optional AddressRequest addr = 5;
}
message Hello {
required string name = 1;
required Address address = 2;
}
enum BarrierOp {
Enter = 1;
Fail = 2;
Succeeded = 3;
Failed = 4;
}
message EnterBarrier {
required string name = 1;
required BarrierOp op = 2;
optional int64 timeout = 3;
}
message AddressRequest {
required string node = 1;
optional Address addr = 2;
}
message Address {
required string protocol = 1;
required string system = 2;
required string host = 3;
required int32 port = 4;
}
enum FailType {
Throttle = 1;
Disconnect = 2;
Abort = 3;
Exit = 4;
Shutdown = 5;
ShutdownAbrupt = 6;
}
enum Direction {
Send = 1;
Receive = 2;
Both = 3;
}
message InjectFailure {
required FailType failure = 1;
optional Direction direction = 2;
optional Address address = 3;
optional float rateMBit = 6;
optional int32 exitValue = 7;
}