private static RSocketSupplier succeedingFactory(RSocket socket) { RSocketSupplier mock = Mockito.mock(RSocketSupplier.class); Mockito.when(mock.availability()).thenReturn(1.0); Mockito.when(mock.get()).thenReturn(Mono.just(socket)); Mockito.when(mock.onClose()).thenReturn(Mono.never()); return mock; }
private void close(Collection<RSocketSupplier> suppliers) { for (RSocketSupplier supplier : suppliers) { try { supplier.dispose(); } catch (Throwable t) { } } }
@Override public synchronized void accept(RSocketSupplier rSocketSupplier) { leasedSuppliers.remove(rSocketSupplier); if (!rSocketSupplier.isDisposed()) { factoryPool.add(rSocketSupplier); } }
private static RSocketSupplier failingClient(SocketAddress sa) { RSocketSupplier mock = Mockito.mock(RSocketSupplier.class); Mockito.when(mock.availability()).thenReturn(0.0); Mockito.when(mock.get()) .thenAnswer( a -> { Assert.fail(); return null; }); return mock; } }
Mockito.when(factory.availability()).thenReturn(1.0); Mockito.when(factory.get()).thenReturn(Mono.just(socket)); RSocketSupplier failureFactory = new RSocketSupplier(factory, 100, TimeUnit.MILLISECONDS); .get() .subscribe( new Subscriber<RSocket>() {
if (poolSize == 1) { RSocketSupplier rSocketSupplier = factoryPool.get(0); if (rSocketSupplier.availability() > 0.0) { factoryPool.remove(0); leasedSuppliers.add(rSocketSupplier); if (factory0.availability() > 0.0 && factory1.availability() > 0.0) { break; if (factory0.availability() > factory1.availability()) { factoryPool.remove(i0); leasedSuppliers.add(factory0);
@Override public Mono<RSocket> get() { return rSocketSupplier .get() .doOnNext(o -> updateErrorPercentage(1.0)) .doOnError(t -> updateErrorPercentage(0.0)) .map(AvailabilityAwareRSocketProxy::new); }
if (poolSize == 1) { RSocketSupplier rSocketSupplier = factoryPool.get(0); if (rSocketSupplier.availability() > 0.0) { factoryPool.remove(0); leasedSuppliers.add(rSocketSupplier); if (factory0.availability() > 0.0 && factory1.availability() > 0.0) { break; if (factory0.availability() > factory1.availability()) { factoryPool.remove(i0); leasedSuppliers.add(factory0);
@Override public Mono<RSocket> get() { return rSocketSupplier .get() .doOnNext(o -> updateErrorPercentage(1.0)) .doOnError(t -> updateErrorPercentage(0.0)) .map(AvailabilityAwareRSocketProxy::new); }
@Override public synchronized void accept(RSocketSupplier rSocketSupplier) { leasedSuppliers.remove(rSocketSupplier); if (!rSocketSupplier.isDisposed()) { factoryPool.add(rSocketSupplier); } }
private void close(Collection<RSocketSupplier> suppliers) { for (RSocketSupplier supplier : suppliers) { try { supplier.dispose(); } catch (Throwable t) { } } }