/* * Copyright (c) 2011-2015 EPFL DATA Laboratory * Copyright (c) 2014-2015 The Squall Collaboration (see NOTICE) * * All rights reserved. * * Licensed 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. */ package ch.epfl.data.squall.storm_components; import java.util.List; import backtype.storm.tuple.Tuple; public interface StormComponent { // Component which sends data further down public static final int INTERMEDIATE = 1; // Last level component (can be part of Joiner), which does not propagate // data anywhere public static final int FINAL_COMPONENT = 2; public static final int NEXT_TO_LAST_COMPONENT = 3; public static final int NEXT_TO_DUMMY = 4; // Tuple parts public static final String COMP_INDEX = "CompIndex"; public static final String TUPLE = "Tuple"; public static final String HASH = "Hash"; public static final String TIMESTAMP = "Timestamp"; public static final String EPOCH = "Epoch"; public static final String MESSAGE = "Message"; public static final String DIM = "DIM"; public static final String RESH_SIGNAL = "ReshufflerSignal"; public static final String MAPPING = "Mapping"; // sending the current content of aggregation and then clearing it public void aggBatchSend(); public String getID(); public String getInfoID(); public void printContent(); public void printTuple(List<String> tuple); public void printTupleLatency(long numSentTuples, long timestamp); public void tupleSend(List<String> tuple, Tuple stormTupleRcv, long timestamp); }