/*******************************************************************************
* Copyright 2014 Analog Devices, Inc. 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 com.analog.lyric.dimple.schedulers;
import com.analog.lyric.dimple.model.core.INode;
import com.analog.lyric.util.misc.Internal;
/**
* Represents an activity driven by a schedule.
*
* @see ScheduleVisitor#visit
* @since 0.07
* @author jking
*/
@Internal
public interface IScheduledActivity
{
/**
* Updates an out-bound edge on a factor.
*
* @param node The node whose out-bound edge is to be updated.
* @param portNum Which edge to update.
* @since 0.07
*/
public abstract void updateEdge(INode node, int portNum);
/**
* Updates all of a factor's out-bound edges.
*
* @param node The node to update.
* @since 0.07
*/
public abstract void update(INode node);
}