FixLibrary(final LibraryConfiguration configuration) { this.configuration = configuration; scheduler = configuration.scheduler(); configuration.conclude(); try { scheduler.configure(configuration.aeronContext()); init(configuration); final LibraryTimers timers = new LibraryTimers(configuration.clock()); initMonitoringAgent(timers.all(), configuration); final LibraryTransport transport = new LibraryTransport(configuration, fixCounters, aeron); poller = new LibraryPoller( configuration, timers, fixCounters, transport, this, new SystemEpochClock()); } catch (final Exception e) { try { closeAnythingHoldingFileHandles(); deleteFiles(); } catch (final Exception innerException) { innerException.addSuppressed(e); throw innerException; } throw e; } }