Class D6_Joining
- java.lang.Object
-
- org.palladiosimulator.indirections.scheduler.AbstractSimDataChannelResource
-
- org.palladiosimulator.indirections.scheduler.implementations.D6_Joining
-
- All Implemented Interfaces:
IDataChannelResource
public class D6_Joining extends AbstractSimDataChannelResource
-
-
Field Summary
Fields Modifier and Type Field Description static StringGRACE_PERIOD_PARAMETER_NAMEstatic StringMEDIAN_AVERAGE_ROLE_ID_PARAMETER_NAMEstatic StringMEDIAN_WINDOW_PER_HOUSE_ROLE_ID_PARAMETER_NAMEprotected Map<DataSinkRole,Map<Emitters.Window,List<IndirectionDate>>>roleToWindowToDates-
Fields inherited from class org.palladiosimulator.indirections.scheduler.AbstractSimDataChannelResource
afterAcceptingAgeCalculator, assemblyContext, beforeProvidingAgeCalculator, dataChannel, dataChannelResourceRegistry, discardedAgeCalculator, id, mainContext, model, name, numberOfDiscardedIncomingElementsCalculator, numberOfDiscardedOutgoingElementsCalculator, numberOfStoredIncomingElementsCalculator, numberOfStoredOutgoingElementsCalculator, processesWaitingToGet, processesWaitingToPut, resourceTableManager, simulatedThreadComponentFactory, waitingToGetTimeCalculator, waitingToPutTimeCalculator
-
-
Constructor Summary
Constructors Constructor Description D6_Joining(JavaClassDataChannel dataChannel, org.palladiosimulator.pcm.core.composition.AssemblyContext assemblyContext, org.palladiosimulator.simulizar.interpreter.InterpreterDefaultContext mainContext, de.uka.ipd.sdq.scheduler.SchedulerModel model, org.palladiosimulator.simulizar.di.component.interfaces.SimulatedThreadComponent.Factory simulatedThreadComponentFactory, DataChannelResourceRegistry dataChannelResourceRegistry)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidacceptData(DataSinkRole role, IndirectionDate date)protected booleancanAcceptData(DataSinkRole role)protected booleancanProvideData(DataSourceRole role)protected voidemit(Emitters.Window window)protected voidhandleCannotProceedToGet(ProcessWaitingToGet process)protected voidhandleCannotProceedToPut(ProcessWaitingToPut process)protected voidhandleNewWatermarkedTime(double oldWatermarkTime, double watermarkTime)protected booleanisPushingRole(DataSourceRole role)protected voidprovideDataAndAdvance(DataSourceRole role, Consumer<IndirectionDate> continuation)It must hold that#provideDataAndAdvance(DataChannelSourceConnector)can be called iff#canProvideData(DataChannelSourceConnector)was true immediately before the call.-
Methods inherited from class org.palladiosimulator.indirections.scheduler.AbstractSimDataChannelResource
advance, blockUntilCanGet, blockUntilCanPut, continueWithoutData, discardDataAndContinue, discardDateIfTooOld, discardIncomingDate, get, getCurrentWatermarkedTime, getId, getName, isDateTooOld, notifyProcessesCanGetNewData, notifyProcessesCanPutNewData, processDataAvailableToGet, put, scheduleAdvance, scheduleDemand, unscheduleAdvance
-
-
-
-
Field Detail
-
GRACE_PERIOD_PARAMETER_NAME
public static final String GRACE_PERIOD_PARAMETER_NAME
- See Also:
- Constant Field Values
-
MEDIAN_WINDOW_PER_HOUSE_ROLE_ID_PARAMETER_NAME
public static final String MEDIAN_WINDOW_PER_HOUSE_ROLE_ID_PARAMETER_NAME
- See Also:
- Constant Field Values
-
MEDIAN_AVERAGE_ROLE_ID_PARAMETER_NAME
public static final String MEDIAN_AVERAGE_ROLE_ID_PARAMETER_NAME
- See Also:
- Constant Field Values
-
roleToWindowToDates
protected final Map<DataSinkRole,Map<Emitters.Window,List<IndirectionDate>>> roleToWindowToDates
-
-
Constructor Detail
-
D6_Joining
public D6_Joining(JavaClassDataChannel dataChannel, org.palladiosimulator.pcm.core.composition.AssemblyContext assemblyContext, org.palladiosimulator.simulizar.interpreter.InterpreterDefaultContext mainContext, de.uka.ipd.sdq.scheduler.SchedulerModel model, org.palladiosimulator.simulizar.di.component.interfaces.SimulatedThreadComponent.Factory simulatedThreadComponentFactory, DataChannelResourceRegistry dataChannelResourceRegistry)
-
-
Method Detail
-
acceptData
protected void acceptData(DataSinkRole role, IndirectionDate date)
- Specified by:
acceptDatain classAbstractSimDataChannelResource
-
emit
protected void emit(Emitters.Window window)
-
canAcceptData
protected boolean canAcceptData(DataSinkRole role)
- Specified by:
canAcceptDatain classAbstractSimDataChannelResource
-
canProvideData
protected boolean canProvideData(DataSourceRole role)
- Specified by:
canProvideDatain classAbstractSimDataChannelResource
-
isPushingRole
protected boolean isPushingRole(DataSourceRole role)
- Specified by:
isPushingRolein classAbstractSimDataChannelResource
-
handleCannotProceedToGet
protected void handleCannotProceedToGet(ProcessWaitingToGet process)
- Specified by:
handleCannotProceedToGetin classAbstractSimDataChannelResource
-
handleCannotProceedToPut
protected void handleCannotProceedToPut(ProcessWaitingToPut process)
- Specified by:
handleCannotProceedToPutin classAbstractSimDataChannelResource
-
handleNewWatermarkedTime
protected void handleNewWatermarkedTime(double oldWatermarkTime, double watermarkTime)- Specified by:
handleNewWatermarkedTimein classAbstractSimDataChannelResource
-
provideDataAndAdvance
protected void provideDataAndAdvance(DataSourceRole role, Consumer<IndirectionDate> continuation)
Description copied from class:AbstractSimDataChannelResourceIt must hold that#provideDataAndAdvance(DataChannelSourceConnector)can be called iff#canProvideData(DataChannelSourceConnector)was true immediately before the call.Calling
#provideDataAndAdvance(DataChannelSourceConnector)in a loop must eventually lead to#canProvideData(DataChannelSourceConnector)returningfalse.- Specified by:
provideDataAndAdvancein classAbstractSimDataChannelResource
-
-