001/**
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements.  See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership.  The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License.  You may obtain a copy of the License at
009 *
010 *   http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing,
013 * software distributed under the License is distributed on an
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 * KIND, either express or implied.  See the License for the
016 * specific language governing permissions and limitations
017 * under the License.
018 */
019package org.apache.reef.runtime.common.driver.api;
020
021import org.apache.reef.annotations.audience.RuntimeAuthor;
022import org.apache.reef.runtime.common.driver.resourcemanager.NodeDescriptorEvent;
023import org.apache.reef.runtime.common.driver.resourcemanager.ResourceAllocationEvent;
024import org.apache.reef.runtime.common.driver.resourcemanager.ResourceStatusEvent;
025import org.apache.reef.runtime.common.driver.resourcemanager.RuntimeStatusEvent;
026import org.apache.reef.tang.annotations.Name;
027import org.apache.reef.tang.annotations.NamedParameter;
028import org.apache.reef.wake.EventHandler;
029
030/**
031 * Driver resourcemanager parameters that resourcemanager implementations use to communicate with
032 * the Driver.
033 */
034@RuntimeAuthor
035public final class RuntimeParameters {
036
037  @NamedParameter(doc = "The resource allocation handler that stub runtimes send along allocated resources e.g., containers.")
038  public final static class ResourceAllocationHandler implements Name<EventHandler<ResourceAllocationEvent>> {
039  }
040
041  @NamedParameter(doc = "The node descriptor handler that stub runtimes send along node information.")
042  public final static class NodeDescriptorHandler implements Name<EventHandler<NodeDescriptorEvent>> {
043  }
044
045  @NamedParameter(doc = "The resource status handler.")
046  public final static class ResourceStatusHandler implements Name<EventHandler<ResourceStatusEvent>> {
047  }
048
049  @NamedParameter(doc = "The resourcemanager status handler.")
050  public final static class RuntimeStatusHandler implements Name<EventHandler<RuntimeStatusEvent>> {
051  }
052
053}