Ver a proveniência

adjust for better support of chunked streaming

tags/2.0.1
Jonathan Cobb há 4 anos
ascendente
cometimento
73bb333fe2
4 ficheiros alterados com 9 adições e 3 eliminações
  1. +2
    -0
      src/main/java/org/cobbzilla/util/daemon/ZillaRuntime.java
  2. +3
    -0
      src/main/java/org/cobbzilla/util/io/multi/MultiStream.java
  3. +3
    -2
      src/main/java/org/cobbzilla/util/io/regex/RegexChunkStreamer.java
  4. +1
    -1
      src/main/java/org/cobbzilla/util/io/regex/RegexFilterReader.java

+ 2
- 0
src/main/java/org/cobbzilla/util/daemon/ZillaRuntime.java Ver ficheiro

@@ -37,6 +37,7 @@ import static org.cobbzilla.util.io.FileUtil.abs;
import static org.cobbzilla.util.io.FileUtil.list;
import static org.cobbzilla.util.reflect.ReflectionUtil.instantiate;
import static org.cobbzilla.util.security.ShaUtil.sha256_hex;
import static org.cobbzilla.util.string.StringUtil.ellipsis;
import static org.cobbzilla.util.string.StringUtil.truncate;
import static org.cobbzilla.util.system.Sleep.sleep;
import static org.cobbzilla.util.time.TimeUtil.formatDuration;
@@ -416,6 +417,7 @@ public class ZillaRuntime {
}

public static String stacktrace() { return getStackTrace(new Exception()); }
public static String shortStacktrace(int max) { return ellipsis(stacktrace(), max); }

private static final AtomicLong selfDestructInitiated = new AtomicLong(-1);
public static void setSelfDestruct (long t) { setSelfDestruct(t, 0); }


+ 3
- 0
src/main/java/org/cobbzilla/util/io/multi/MultiStream.java Ver ficheiro

@@ -7,6 +7,8 @@ import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import static org.cobbzilla.util.daemon.ZillaRuntime.stacktrace;

@Slf4j
public class MultiStream extends InputStream {

@@ -67,6 +69,7 @@ public class MultiStream extends InputStream {
}

@Override public int read(byte[] buf, int off, int len) throws IOException {
if (log.isTraceEnabled()) log.trace("read(byte[]): trying to read "+len+" bytes. this="+this+", from="+stacktrace());
final int count = currentStream.read(buf, off, len);
if (count == -1) {
if (streamIndex == streams.size()-1) {


+ 3
- 2
src/main/java/org/cobbzilla/util/io/regex/RegexChunkStreamer.java Ver ficheiro

@@ -102,9 +102,10 @@ public class RegexChunkStreamer {
addChunk(chunk);
}
if (chunks.isEmpty()) {
// we found nothing, so the whole buffer is the entire thing
// we found nothing, so the whole buffer is the entire thing, and it's partial so we
// can re-evaluate when there is more data
addChunk(new RegexChunk()
.setType(RegexChunkType.content)
.setPartial(true)
.setData(buffer.toString()));
} else {
// add any remainder as the footer


+ 1
- 1
src/main/java/org/cobbzilla/util/io/regex/RegexFilterReader.java Ver ficheiro

@@ -18,7 +18,7 @@ import static org.cobbzilla.util.string.StringUtil.UTF8cs;
@Slf4j @Accessors(chain=true)
public class RegexFilterReader extends BufferedReader {

public static final int DEFAULT_BUFFER_SIZE = (int) (64 * Bytes.KB);
public static final int DEFAULT_BUFFER_SIZE = (int) (8 * Bytes.KB);

private final int bufsiz;
private RegexStreamFilter filter;


Carregando…
Cancelar
Guardar