Interface SimulationManagerInterface
- All Known Implementing Classes:
SimulationManager
-
Method Summary
Modifier and TypeMethodDescriptionRecupera el historial de resultados generado por el motor de simulación.Consulta y devuelve el estado actual de la simulación.intgetToken()Obtiene el identificador numérico único asignado a esta ejecución.intInicia asíncronamente el procesamiento matemático de la simulación en un hilo.voidRefresca el estado interno verificando la finalización de los cálculos en el motor.
-
Method Details
-
getToken
int getToken()Obtiene el identificador numérico único asignado a esta ejecución.Precondición: Ninguna.
Postcondición: Devuelve el token asignado durante el arranque. Si la simulación aún no ha sido arrancada, devuelve -1 de forma predeterminada.
- Returns:
- el token de la simulación.
-
getSimulationStatus
SimulationStatus getSimulationStatus()Consulta y devuelve el estado actual de la simulación.Precondición: Ninguna.
Postcondición: Fuerza una actualización interna para revisar si el motor ha terminado y devuelve el estado resultante (pendiente, en progreso o completado).
- Returns:
- el estado de ejecución de la simulación.
-
updateSimulationStatus
void updateSimulationStatus()Refresca el estado interno verificando la finalización de los cálculos en el motor.Precondición: Ninguna.
Postcondición: Si el motor de simulación confirma que ha procesado todos sus turnos, actualiza el estado de la simulación a completado. En caso contrario, se mantiene sin cambios.
-
getSimulationResult
SimulationResult getSimulationResult()Recupera el historial de resultados generado por el motor de simulación.Precondición: Ninguna.
Postcondición: Traspasa directamente el objeto de resultado devuelto por el motor interno solo si el estado actual es completado. Bloquea la entrega y devuelve nulo si la simulación todavía está pendiente o procesando turnos.
- Returns:
- el historial de resultados, o nulo si no ha concluido.
-
startSimulation
int startSimulation()Inicia asíncronamente el procesamiento matemático de la simulación en un hilo.Precondición: Ninguna.
Postcondición: Encola el motor de simulación en un hilo secundario para procesar los turnos de manera paralela. Cambia el estado a en progreso y emite un nuevo token mayor o igual a cero. Si el gestor ya fue arrancado, ignora la orden y devuelve el mismo token original para prevenir repeticiones.
- Returns:
- el token numérico identificador emitido.
-