okio.Buffer.clone()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(5.7k)|赞(0)|评价(0)|浏览(215)

本文整理了Java中okio.Buffer.clone()方法的一些代码示例,展示了Buffer.clone()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Buffer.clone()方法的具体详情如下:
包路径:okio.Buffer
类名称:Buffer
方法名:clone

Buffer.clone介绍

[英]Returns a deep copy of this buffer.
[中]返回此缓冲区的深度副本。

代码示例

代码示例来源:origin: square/okhttp

/** Returns a copy of the raw HTTP payload. */
public Buffer getBody() {
 return body != null ? body.clone() : null;
}

代码示例来源:origin: square/okhttp

@Override public Source source(File file) throws FileNotFoundException {
 Buffer result = files.get(file);
 if (result == null) throw new FileNotFoundException();
 final Source source = result.clone();
 openSources.put(source, file);
 return new ForwardingSource(source) {
  @Override public void close() throws IOException {
   openSources.remove(source);
   super.close();
  }
 };
}

代码示例来源:origin: square/okhttp

public MockResponse setBody(Buffer body) {
 setHeader("Content-Length", body.size());
 this.body = body.clone(); // Defensive copy.
 return this;
}

代码示例来源:origin: JessYanCoding/MVPArms

/**
 * 打印响应结果
 *
 * @param request     {@link Request}
 * @param response    {@link Response}
 * @param logResponse 是否打印响应结果
 * @return 解析后的响应结果
 * @throws IOException
 */
@Nullable
private String printResult(Request request, Response response, boolean logResponse) throws IOException {
  try {
    //读取服务器返回的结果
    ResponseBody responseBody = response.newBuilder().build().body();
    BufferedSource source = responseBody.source();
    source.request(Long.MAX_VALUE); // Buffer the entire body.
    Buffer buffer = source.buffer();
    //获取content的压缩类型
    String encoding = response
        .headers()
        .get("Content-Encoding");
    Buffer clone = buffer.clone();
    //解析response content
    return parseContent(responseBody, encoding, clone);
  } catch (IOException e) {
    e.printStackTrace();
    return "{\"error\": \"" + e.getMessage() + "\"}";
  }
}

代码示例来源:origin: square/okhttp

FILE_HEADER_SIZE + upstreamPos, upstreamBuffer.clone(), upstreamBytesRead);

代码示例来源:origin: square/okio

@Test public void cloneDoesNotObserveWritesToOriginal() {
 Buffer original = new Buffer();
 Buffer clone = original.clone();
 original.writeUtf8("abc");
 assertEquals(0, clone.size());
}

代码示例来源:origin: square/okhttp

if ("gzip".equalsIgnoreCase(headers.get("Content-Encoding"))) {
 gzippedLength = buffer.size();
 try (GzipSource gzippedResponseBody = new GzipSource(buffer.clone())) {
  buffer = new Buffer();
  buffer.writeAll(gzippedResponseBody);
 logger.log(buffer.clone().readString(charset));

代码示例来源:origin: square/okio

@Test public void originalDoesNotObserveWritesToClone() {
 Buffer original = new Buffer();
 Buffer clone = original.clone();
 clone.writeUtf8("abc");
 assertEquals(0, original.size());
}

代码示例来源:origin: com.squareup.okhttp3/okhttp

FILE_HEADER_SIZE + upstreamPos, upstreamBuffer.clone(), upstreamBytesRead);

代码示例来源:origin: square/okio

@Test public void originalDoesNotObserveReadsFromClone() throws Exception {
 Buffer original = new Buffer();
 original.writeUtf8("abc");
 Buffer clone = original.clone();
 assertEquals("abc", clone.readUtf8(3));
 assertEquals(3, original.size());
 assertEquals("ab", original.readUtf8(2));
}

代码示例来源:origin: smuyyh/BookReader

logger.log(buffer.clone().readString(charset));

代码示例来源:origin: square/okio

@Test public void cloneDoesNotObserveReadsFromOriginal() throws Exception {
 Buffer original = new Buffer();
 original.writeUtf8("abc");
 Buffer clone = original.clone();
 assertEquals("abc", original.readUtf8(3));
 assertEquals(3, clone.size());
 assertEquals("ab", clone.readUtf8(2));
}

代码示例来源:origin: com.squareup.okhttp3/logging-interceptor

if ("gzip".equalsIgnoreCase(headers.get("Content-Encoding"))) {
 gzippedLength = buffer.size();
 try (GzipSource gzippedResponseBody = new GzipSource(buffer.clone())) {
  buffer = new Buffer();
  buffer.writeAll(gzippedResponseBody);
 logger.log(buffer.clone().readString(charset));

代码示例来源:origin: amitshekhariitbhu/Fast-Android-Networking

logger.log(buffer.clone().readString(charset));

代码示例来源:origin: square/okio

@Test public void readFullyByteArray() throws IOException {
 Buffer data = new Buffer();
 data.writeUtf8("Hello").writeUtf8(repeat('e', SEGMENT_SIZE));
 byte[] expected = data.clone().readByteArray();
 sink.write(data, data.size());
 sink.emit();
 byte[] sink = new byte[SEGMENT_SIZE + 5];
 source.readFully(sink);
 assertByteArraysEquals(expected, sink);
}

代码示例来源:origin: jgilfelt/chuck

transaction.setResponseBody(readFromBuffer(buffer.clone(), charset));
} else {
  transaction.setResponseBodyIsPlainText(false);

代码示例来源:origin: square/okio

@Test public void cloneMultipleSegments() throws Exception {
 Buffer original = new Buffer();
 original.writeUtf8(repeat('a', SEGMENT_SIZE * 3));
 Buffer clone = original.clone();
 original.writeUtf8(repeat('b', SEGMENT_SIZE * 3));
 clone.writeUtf8(repeat('c', SEGMENT_SIZE * 3));
 assertEquals(repeat('a', SEGMENT_SIZE * 3) + repeat('b', SEGMENT_SIZE * 3),
   original.readUtf8(SEGMENT_SIZE * 6));
 assertEquals(repeat('a', SEGMENT_SIZE * 3) + repeat('c', SEGMENT_SIZE * 3),
   clone.readUtf8(SEGMENT_SIZE * 6));
}

代码示例来源:origin: square/okio

@Test public void seekWithinSegment() throws Exception {
 assumeTrue(bufferFactory == BufferFactory.SMALL_SEGMENTED_BUFFER);
 Buffer buffer = bufferFactory.newBuffer();
 assertEquals("abcdefghijkl", buffer.clone().readUtf8());
 // Seek to the 'f' in the "defg" segment.
 try (UnsafeCursor cursor = buffer.readUnsafe()) {
  assertEquals(2, cursor.seek(5)); // 2 for 2 bytes left in the segment: "fg".
  assertEquals(5, cursor.offset);
  assertEquals(2, cursor.end - cursor.start);
  assertEquals('d', (char) cursor.data[cursor.start - 2]); // Out of bounds!
  assertEquals('e', (char) cursor.data[cursor.start - 1]); // Out of bounds!
  assertEquals('f', (char) cursor.data[cursor.start]);
  assertEquals('g', (char) cursor.data[cursor.start + 1]);
 }
}

代码示例来源:origin: cn-ljb/rxjava_for_android

logger.log(buffer.clone().readString(charset));

代码示例来源:origin: com.squareup.okhttp/mockwebserver

public MockResponse setBody(Buffer body) {
 setHeader("Content-Length", body.size());
 this.body = body.clone(); // Defensive copy.
 return this;
}

相关文章