blob: 15681b09554c9ca964d4cae5d15b3720760c300b [file] [log] [blame]
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
syntax = "proto2";
package heron.proto.system;
option java_package = "org.apache.heron.proto.system";
option java_outer_classname = "HeronTuples";
import "topology.proto";
message RootId {
required int32 taskid = 1;
required sfixed64 key = 2;
}
message AckTuple {
repeated RootId roots = 1;
required sfixed64 ackedtuple = 2;
}
message HeronDataTuple {
required sfixed64 key = 1;
repeated RootId roots = 2; // What are the roots
repeated bytes values = 3; // The actual payload
// If present, this set of tuples must be sent
// to these destination global task ids as well
// Only valid for data tuples from instance to stmgr
repeated int32 dest_task_ids = 4;
}
message HeronDataTupleSet {
required heron.proto.api.StreamId stream = 1;
repeated HeronDataTuple tuples = 2;
}
// Note:- only one of the acks/fails/emits is set
message HeronControlTupleSet {
repeated AckTuple acks = 1;
repeated AckTuple fails = 2;
repeated AckTuple emits = 3;
}
// Note:- Only one of data/control is set in any message
message HeronTupleSet {
optional HeronDataTupleSet data = 1;
optional HeronControlTupleSet control = 2;
required int32 src_task_id = 3;
}
message HeronDataTupleSet2 {
required heron.proto.api.StreamId stream = 1;
repeated bytes tuples = 2;
}
message HeronTupleSet2 {
optional HeronDataTupleSet2 data = 1;
optional HeronControlTupleSet control = 2;
required int32 src_task_id = 3;
}