@Override public AsyncIOWriter write(AtmosphereResponse response, byte[] data) throws IOException { write(response, data, 0, data.length); return this; }
@Override public void run() { if (!w.get().isClosed() && (System.currentTimeMillis() - w.get().lastTick()) > action.timeout()) { AtmosphereResourceImpl impl = state.resource(); if (impl != null) { asynchronousProcessor.endRequest(impl, false); f.get().cancel(true); } } } }, action.timeout(), action.timeout(), TimeUnit.MILLISECONDS));
@Override public AsyncIOWriter write(AtmosphereResponse response, byte[] data, int offset, int length) throws IOException { if (doneProcessing.get()) { throw Utils.ioExceptionForChannel(channel, response.uuid()); } boolean transform = filters.size() > 0 && response.getStatus() < 400; if (transform) { data = transform(response, data, offset, length); offset = 0; length = data.length; } logger.trace("About to write to {}", channel); if (channel.isOpen()) { asyncWrite(response, data, offset, length); } else { logger.trace("Trying to write on a closed channel {}", channel); throw new IOException("Channel closed"); } return this; }
protected byte[] transform(AtmosphereResponse response, byte[] b, int offset, int length) throws IOException { AsyncIOWriter a = response.getAsyncIOWriter(); try { response.asyncIOWriter(transformCacheBuffer); invokeInterceptor(response, b, offset, length); return transformCacheBuffer.stream().toByteArray(); } finally { transformCacheBuffer.close(null); response.asyncIOWriter(a); } }
if (asyncWriter != null && !resumeOnBroadcast && !keptOpen) { if (!skipClose && response != null) { asyncWriter.close(response); } else { httpChannels.add(ctx.channel());
@Override public void run() { if (!w.get().isClosed() && (System.currentTimeMillis() - w.get().lastTick()) > action.timeout()) { AtmosphereResourceImpl impl = state.resource(); if (impl != null) { asynchronousProcessor.endRequest(impl, false); f.get().cancel(true); } } } }, action.timeout(), action.timeout(), TimeUnit.MILLISECONDS));
@Override public AsyncIOWriter write(AtmosphereResponse response, byte[] data, int offset, int length) throws IOException { if (doneProcessing.get()) { throw Utils.ioExceptionForChannel(channel, response.uuid()); } boolean transform = filters.size() > 0 && response.getStatus() < 400; if (transform) { data = transform(response, data, offset, length); offset = 0; length = data.length; } logger.trace("About to write to {}", channel); if (channel.isOpen()) { asyncWrite(response, data, offset, length); } else { logger.trace("Trying to write on a closed channel {}", channel); throw new IOException("Channel closed"); } return this; }
protected byte[] transform(AtmosphereResponse response, byte[] b, int offset, int length) throws IOException { AsyncIOWriter a = response.getAsyncIOWriter(); try { response.asyncIOWriter(transformCacheBuffer); invokeInterceptor(response, b, offset, length); return transformCacheBuffer.stream().toByteArray(); } finally { transformCacheBuffer.close(null); response.asyncIOWriter(a); } }
if (asyncWriter != null && !resumeOnBroadcast && !keptOpen) { if (!skipClose && response != null) { asyncWriter.close(response); } else { httpChannels.add(ctx.channel());
@Override public AsyncIOWriter write(AtmosphereResponse response, byte[] data) throws IOException { write(response, data, 0, data.length); return this; }
@Override public AsyncIOWriter write(AtmosphereResponse response, String data) throws IOException { byte[] b = data.getBytes("ISO-8859-1"); write(response, b); return this; }
@Override public AsyncIOWriter write(AtmosphereResponse response, String data) throws IOException { byte[] b = data.getBytes("ISO-8859-1"); write(response, b); return this; }