private static Func0<ServerSocket> createServerSocketFactory( final Func0<? extends ServerSocket> serverSocketFactory, final int acceptTimeoutMs) { return Checked.f0(new F0<ServerSocket>() { @Override public ServerSocket call() throws Exception { return createServerSocket(serverSocketFactory, acceptTimeoutMs); } }); }
public static Observable<Map<String, String>> extractMaps(File file, String parentElementName) { Func0<InputStream> resourceFactory = Checked.f0(() -> new FileInputStream(file)); Func1<InputStream, Observable<Map<String, String>>> observableFactory = is -> Observable .just(is).lift(new OperatorIhsReader(parentElementName)); Action1<InputStream> disposeAction = Checked.a1(is -> is.close()); return Observable.using(resourceFactory, observableFactory, disposeAction); }
public static <T> ResourceManager<T> create(Callable<T> resourceFactory, Checked.A1<? super T> disposeAction) { return new ResourceManager<T>(Functions.toFunc0(resourceFactory), Checked.a1(disposeAction), false); }
@VisibleForTesting static Func1<Socket, Observable<String>> socketObservableFactory(final Charset charset) { return Checked.f1( socket -> Strings.from(new InputStreamReader(socket.getInputStream(), charset))); }
public static <T> ResourceManager<T> create(Callable<T> resourceFactory, Checked.A1<? super T> disposeAction) { return new ResourceManager<T>(Functions.toFunc0(resourceFactory), Checked.a1(disposeAction), false); }
private static Func0<ServerSocket> createServerSocketFactory( final Func0<? extends ServerSocket> serverSocketFactory, final int acceptTimeoutMs) { return Checked.f0(new F0<ServerSocket>() { @Override public ServerSocket call() throws Exception { return createServerSocket(serverSocketFactory, acceptTimeoutMs); } }); }
@VisibleForTesting static Func0<Socket> socketCreator(final String host, final int port, long quietTimeoutMs) { return Checked.f0(() -> { Socket socket = new Socket(host, port); socket.setSoTimeout((int) quietTimeoutMs); return socket; }); }
public static Observable<String> nmeaFrom(final File file) { return Observable.using( // Checked.f0(() -> new FileInputStream(file)), is -> nmeaFrom(is), // is -> { try { is.close(); } catch (IOException e) { // don't care } } , true); }
private static Observable<byte[]> createSocketObservable(final Socket socket, long timeoutMs, final int bufferSize) { setTimeout(socket, timeoutMs); return Observable.using( // Checked.f0(new F0<InputStream>() { @Override public InputStream call() throws Exception { return socket.getInputStream(); } }), // new Func1<InputStream, Observable<byte[]>>() { @Override public Observable<byte[]> call(InputStream is) { return Bytes.from(is, bufferSize); } }, // Actions.close(), // true); }
private static Observable<byte[]> createSocketObservable(final Socket socket, long timeoutMs, final int bufferSize) { setTimeout(socket, timeoutMs); return Observable.using( // Checked.f0(new F0<InputStream>() { @Override public InputStream call() throws Exception { return socket.getInputStream(); } }), // new Func1<InputStream, Observable<byte[]>>() { @Override public Observable<byte[]> call(InputStream is) { return Bytes.from(is, bufferSize); } }, // Actions.close(), // true); }