Home » synapse-1.2-src » org.apache.synapse.endpoints.algorithms » [javadoc | source]

    1   /*
    2    *  Licensed to the Apache Software Foundation (ASF) under one
    3    *  or more contributor license agreements.  See the NOTICE file
    4    *  distributed with this work for additional information
    5    *  regarding copyright ownership.  The ASF licenses this file
    6    *  to you under the Apache License, Version 2.0 (the
    7    *  "License"); you may not use this file except in compliance
    8    *  with the License.  You may obtain a copy of the License at
    9    *
   10    *   http://www.apache.org/licenses/LICENSE-2.0
   11    *
   12    *  Unless required by applicable law or agreed to in writing,
   13    *  software distributed under the License is distributed on an
   14    *   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   15    *  KIND, either express or implied.  See the License for the
   16    *  specific language governing permissions and limitations
   17    *  under the License.
   18    */
   19   
   20   package org.apache.synapse.endpoints.algorithms;
   21   
   22   import org.apache.synapse.MessageContext;
   23   import org.apache.synapse.endpoints.Endpoint;
   24   
   25   /**
   26    * All load balance algorithms must implement this interface. Implementations of this interface can
   27    * be registered in LoadbalanceManagers.
   28    */
   29   public interface LoadbalanceAlgorithm {
   30   
   31       /**
   32        * This method returns the next node according to the algorithm implementation.
   33        *
   34        * @param synapseMessageContext SynapseMessageContext of the current message
   35        * @param algorithmContext The context in which holds run time states related to the algorithm
   36        * @return Next node for directing the message
   37        */
   38       public Endpoint getNextEndpoint(MessageContext synapseMessageContext, AlgorithmContext algorithmContext);
   39   
   40       /**
   41        * Resets the algorithm to its initial position. Initial position depends on the implementation.
   42        * @param algorithmContext The context in which holds run time states related to the algorithm
   43        */
   44       public void reset(AlgorithmContext algorithmContext);
   45   }

Home » synapse-1.2-src » org.apache.synapse.endpoints.algorithms » [javadoc | source]