internal void ColonyRacetrackSettingsSetHandler(ColonyRacetrackSettingsSetMessage message)
        {
            m_Factory.Release(Source);

            Source = m_Factory.Create(message.TurnRadiusForPort,
                                      message.TurnRadiusForStarboard,
                                      message.IsPortTurnAllowed,
                                      message.IsStarboardTurnAllowed);

            m_Bus.PublishAsync(new ColonyRacetrackSettingsResponseMessage());
        }
 private static bool IsValidCostMatrixCalculateMessage(
     CostMatrixCalculateMessage x,
     LineDto[] lineDtos,
     IRacetrackSettingsSource settings)
 {
     return x.LineDtos == lineDtos &&
            Math.Abs(x.TurnRadiusForPort - settings.TurnRadiusForPort) < Tolerance &&
            Math.Abs(x.TurnRadiusForStarboard - settings.TurnRadiusForStarboard) < Tolerance &&
            x.IsPortTurnAllowed == settings.IsPortTurnAllowed &&
            x.IsStarboardTurnAllowed == settings.IsStarboardTurnAllowed;
 }