/// <summary> /// Initializes a new instance of the type /// </summary> /// <param name="loggerFactory">Factory to create loggers</param> /// <param name="availabilityCheck">Logic to perform availability checks</param> public AvailabilityProbeLogic(ILoggerFactory loggerFactory, IAvailabilityCheck availabilityCheck) { Guard.NotNull(nameof(loggerFactory), loggerFactory); Guard.NotNull(nameof(availabilityCheck), availabilityCheck); _availabilityLogic = availabilityCheck; _logger = loggerFactory.CreateLogger(Name); }
/// <summary> /// Initializes a new instance of the type /// </summary> /// <param name="loggerFactory">Factory to create loggers</param> /// <param name="availabilityCheck">Logic to perform availability checks</param> /// <param name="healthCheck">Logic to perform health checks</param> public DualProbeLogic(ILoggerFactory loggerFactory, IAvailabilityCheck availabilityCheck, IHealthCheck healthCheck) { Guard.NotNull(nameof(loggerFactory), loggerFactory); Guard.NotNull(nameof(availabilityCheck), availabilityCheck); Guard.NotNull(nameof(healthCheck), healthCheck); _availabilityLogic = availabilityCheck; _healthLogic = healthCheck; _logger = loggerFactory.CreateLogger(Name); }
/// <summary> /// Initializes a new instance of the type /// </summary> /// <param name="port">The port number to listen on all IPv4 endpoints</param> /// <param name="handler">The validation method</param> /// <param name="pollingInterval">The interval between polling checks</param> public AvailabilityContainerProbe(ushort port, TimeSpan pollingInterval, IAvailabilityCheck handler) : this(IPAddress.Any, port, pollingInterval, handler) { }
/// <summary> /// Initializes a new instance of the type /// </summary> /// <param name="address">The IP Address to listen on</param> /// <param name="port">The port number to listen on all IPv4 endpoints</param> /// <param name="handler">The validation method</param> /// <param name="pollingInterval">The interval between polling checks</param> public AvailabilityContainerProbe(IPAddress address, ushort port, TimeSpan pollingInterval, IAvailabilityCheck handler) : base(address, port, pollingInterval) { Guard.NotNull(nameof(handler), handler); _handler = handler; }
public BookingCommandService(IAggregateStore store, IAvailabilityCheck availabilityCheck) { _store = store; _availabilityCheck = availabilityCheck; }
public async Task BookRoom(string bookingId, string guestId, RoomId roomId, StayPeriod period, IAvailabilityCheck availabilityCheck) { EnsureDoesntExist(); await EnsureRoomAvailable(roomId, period, availabilityCheck); Apply( new V1.RoomBooked { BookingId = bookingId, GuestId = guestId, RoomId = roomId.Value, CheckIn = period.CheckIn, CheckOut = period.CheckOut } ); }
/// <summary> /// Initializes a new instance of the type /// </summary> /// <param name="port">The port to listen on</param> /// <param name="pollingInterval">The interval between checking for new connection requests</param> /// <param name="handler">A handler used to determine if the service is available</param> public TestAvailabilityProbe(IPAddress address, ushort port, TimeSpan pollingInterval, IAvailabilityCheck handler) : base(address, port, pollingInterval, handler) { }
/// <summary> /// Initializes a new instance of the type /// </summary> /// <param name="port">The port to listen on</param> /// <param name="pollingInterval">The interval between checking for new connection requests</param> /// <param name="handler">A handler used to determine if the service is available</param> public TestAvailabilityProbe(ushort port, TimeSpan pollingInterval, IAvailabilityCheck handler) : base(port, pollingInterval, handler) { }
/// <summary> /// Initializes a new instance of the type /// </summary> /// <param name="configuration">The kestrel host configuration</param> /// <param name="loggerFactory">A factory that can be used to create loggers</param> /// <param name="availabilityCheck">The logic to validate success results</param> public KestrelAvailabilityProbe(IKestrelHostConfiguration configuration, ILoggerFactory loggerFactory, IAvailabilityCheck availabilityCheck) : base(configuration, loggerFactory, () => new MultiProbeStartup(new MultiProbeConfiguration { EndpointList = AvailabilityProbeLogic.EndpointList }, loggerFactory, new AvailabilityProbeLogic(loggerFactory, availabilityCheck))) { }