@Override public void completed(Integer result, ByteBuffer attachment) { // FIXME: how to handle incomplete read. (currently burden on reader) long newPos = position + finalTarget.limit() - bufferStartPos; if (result < 0) newPos = -1; attachment.flip(); p.resolve(new AsyncFileIOEvent(newPos, result, finalTarget)); }
@Override public void completed(Integer result, ByteBuffer attachment) { // FIXME: how to handle incomplete read. (currently burden on reader) long newPos = position + finalTarget.limit() - bufferStartPos; if (result < 0) newPos = -1; attachment.flip(); p.resolve(new AsyncFileIOEvent(newPos, result, finalTarget)); }
@Override public void completed(HttpResponse result) { execute(() -> res.resolve(result)); // switch to actor thread }
@Override public void completed(HttpResponse result) { execute(() -> res.resolve(result)); // switch to actor thread }
@Override public void completed(HttpResponse result) { execute(() -> res.resolve(result)); // switch to actor thread }
@Override public void complete(Object result, Object error) { if ( Actors.isComplete(error) ) { if ( finishLatch != null ) { int count = finishLatch.decrementAndGet(); if ( count == 0 ) { finSignal.resolve(); } } else finSignal.resolve(); } else { if (localCallback != null) { localCallback.complete((O) result, error); } else { System.err.println("set callback using then() prior sending"); } } } };
@Override public void completed(Integer result, ByteBuffer attachment) { if ( source.remaining() > 0 ) { // just retry (will enqueue new message/job to actor mailbox) fileChannel.write(source,filePosition,source,this); } else { long newPos = filePosition + finalTarget.limit() - bufferStartPos; if (result < 0) newPos = -1; attachment.flip(); p.resolve(new AsyncFileIOEvent(newPos, result, finalTarget)); } }
@Override public void complete(T result, Object error) { if ( Actor.isError(error) ) { res.complete(null, error); } else { function.accept(result); res.resolve(); } } });
@Override public void complete(T result, Object error) { if ( ! Actor.isError(error) ) { res.complete(null, error); } else { function.accept(error); res.resolve(); } } });
@Override public void completed(Integer result, ByteBuffer attachment) { if ( source.remaining() > 0 ) { // just retry (will enqueue new message/job to actor mailbox) fileChannel.write(source,filePosition,source,this); } else { long newPos = filePosition + finalTarget.limit() - bufferStartPos; if (result < 0) newPos = -1; attachment.flip(); p.resolve(new AsyncFileIOEvent(newPos, result, finalTarget)); } }
@Override public void complete(T result, Object error) { if ( Actor.isError(error) ) { res.complete(null, error); } else { function.accept(result); res.resolve(); } } });
@Override public void complete(T result, Object error) { if ( ! Actor.isError(error) ) { res.complete(null, error); } else { function.accept(error); res.resolve(); } } });
@Override public IPromise<Long> size() { Promise result = new Promise(); Actors.all(shards.stream().map( shard -> shard.size() ).collect(Collectors.toList())) .then( longPromisList -> { long sum = longPromisList.stream().mapToLong(prom -> prom.get()).sum(); result.resolve(sum); }); return result; }
void writeFinished(Object error) { checkThread(); writingBuffer = null; Promise wp = this.writePromise; writePromise = null; if ( ! wp.isSettled() ) { if ( error != null ) wp.reject(error); else wp.resolve(); } }
void writeFinished(Object error) { checkThread(); writingBuffer = null; Promise wp = this.writePromise; writePromise = null; if ( ! wp.isSettled() ) { if ( error != null ) wp.reject(error); else wp.resolve(); } }
protected IPromise<List<String>> getVersions(String module) { Promise res = new Promise(); http.getContent(config.getRepo()+"/"+module).then( (cont,err) -> { if ( cont != null ) { JsonObject parse = Json.parse(cont).asObject().get("versions").asObject(); List<String> versions = new ArrayList<>(); parse.forEach( mem -> versions.add(mem.getName())); res.resolve(versions); } else { res.reject(err); } }); return res; }
public static Promise<ActorServer> Publish(Actor facade, int port, Coding coding, Consumer<Actor> disconnectHandler) { Promise finished = new Promise(); try { ActorServer publisher = new ActorServer(new NIOServerConnector(port), facade, coding); facade.execute(() -> { try { publisher.start(disconnectHandler); finished.resolve(publisher); } catch (Exception e) { finished.reject(e); } }); } catch (Exception e) { e.printStackTrace(); return new Promise(null,e); } return finished; }
public static Promise<ActorServer> Publish(Actor facade, int port, Coding coding, Consumer<Actor> disconnectCB) { Promise finished = new Promise(); try { ActorServer publisher = new ActorServer(new TCPServerConnector(port), facade, coding); facade.execute(() -> { try { publisher.start(disconnectCB); finished.resolve(publisher); } catch (Exception e) { finished.reject(e); } }); } catch (Exception e) { e.printStackTrace(); return new Promise(null,e); } return finished; }
public static Promise<ActorServer> Publish(Actor facade, int port, Coding coding, Consumer<Actor> disconnectHandler) { Promise finished = new Promise(); try { ActorServer publisher = new ActorServer(new NIOServerConnector(port), facade, coding); facade.execute(() -> { try { publisher.start(disconnectHandler); finished.resolve(publisher); } catch (Exception e) { finished.reject(e); } }); } catch (Exception e) { e.printStackTrace(); return new Promise(null,e); } return finished; }
protected IPromise<JsonObject> getDistributions(String module) { Promise res = new Promise(); // http://registry.npmjs.org/-/package/react/dist-tags http.getContent(config.getRepo()+"/-/package/"+module+"/dist-tags").then( (cont,err) -> { if ( cont != null ) { JsonObject parse = Json.parse(cont).asObject(); res.resolve(parse); } else { res.reject(err); } }); return res; }