org.glassfish.grizzly.memory.Buffers.readFromFileChannel()方法的使用及代码示例

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

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

Buffers.readFromFileChannel介绍

[英]Reads data from the FileChannel into the Buffer.
[中]将数据从文件通道读入缓冲区。

代码示例

代码示例来源:origin: javaee/grizzly

/**
 * Send next CHUNK_SIZE of file
 */
private boolean sendChunk() throws IOException {
  // allocate Buffer
  final Buffer buffer = mm.allocate(chunkSize);
  // mark it available for disposal after content is written
  buffer.allowBufferDispose(true);
  // read file to the Buffer
  final int justReadBytes = (int) Buffers.readFromFileChannel(
      fileChannel, buffer);
  
  if (justReadBytes <= 0) {
    complete(false);
    return false;
  }
  // prepare buffer to be written
  buffer.trim();
  // write the Buffer
  outputStream.write(buffer);
  size -= justReadBytes;
  // check the remaining size here to avoid extra onWritePossible() invocation
  if (size <= 0) {
    complete(false);
    return false;
  }
  return true;
}

代码示例来源:origin: javaee/grizzly

/**
 * Send next CHUNK_SIZE of file
 */
private boolean sendChunk() throws IOException {
  // allocate Buffer
  final Buffer buffer = mm.allocate(chunkSize);
  // mark it available for disposal after content is written
  buffer.allowBufferDispose(true);
  // read file to the Buffer
  final int justReadBytes = (int) Buffers.readFromFileChannel(
      fileChannel, buffer);
  
  if (justReadBytes <= 0) {
    complete(false);
    return false;
  }
  // prepare buffer to be written
  buffer.trim();
  // write the Buffer
  outputStream.write(buffer);
  size -= justReadBytes;
  // check the remaining size here to avoid extra onWritePossible() invocation
  if (size <= 0) {
    complete(false);
    return false;
  }
  return true;
}

代码示例来源:origin: javaee/grizzly

/**
 * Send next CHUNK_SIZE of file
 */
private boolean sendChunk() throws IOException {
  // allocate Buffer
  final Buffer buffer = mm.allocate(chunkSize);
  // mark it available for disposal after content is written
  buffer.allowBufferDispose(true);
  // read file to the Buffer
  final int justReadBytes = (int) Buffers.readFromFileChannel(
      fileChannel, buffer);
  
  if (justReadBytes <= 0) {
    complete(false);
    return false;
  }
  // prepare buffer to be written
  buffer.trim();
  // write the Buffer
  outputStream.write(buffer);
  size -= justReadBytes;
  // check the remaining size here to avoid extra onWritePossible() invocation
  if (size <= 0) {
    complete(false);
    return false;
  }
  return true;
}

代码示例来源:origin: javaee/grizzly

/**
 * Send next CHUNK_SIZE of file
 */
private boolean sendChunk() throws IOException {
  // allocate Buffer
  final Buffer buffer = mm.allocate(chunkSize);
  // mark it available for disposal after content is written
  buffer.allowBufferDispose(true);
  // read file to the Buffer
  final int justReadBytes = (int) Buffers.readFromFileChannel(
      fileChannel, buffer);
  
  if (justReadBytes <= 0) {
    complete(false);
    return false;
  }
  // prepare buffer to be written
  buffer.trim();
  // write the Buffer
  outputStream.write(buffer);
  size -= justReadBytes;
  // check the remaining size here to avoid extra onWritePossible() invocation
  if (size <= 0) {
    complete(false);
    return false;
  }
  return true;
}

代码示例来源:origin: javaee/grizzly

/**
 * Send next CHUNK_SIZE of file
 */
private boolean sendChunk() throws IOException {
  // allocate Buffer
  final Buffer buffer = mm.allocate(chunkSize);
  // mark it available for disposal after content is written
  buffer.allowBufferDispose(true);
  // read file to the Buffer
  final int justReadBytes = (int) Buffers.readFromFileChannel(
      fileChannel, buffer);
  
  if (justReadBytes <= 0) {
    complete(false);
    return false;
  }
  // prepare buffer to be written
  buffer.trim();
  // write the Buffer
  outputStream.write(buffer);
  size -= justReadBytes;
  // check the remaining size here to avoid extra onWritePossible() invocation
  if (size <= 0) {
    complete(false);
    return false;
  }
  return true;
}

代码示例来源:origin: org.glassfish.grizzly/grizzly-http-server-core

/**
 * Send next CHUNK_SIZE of file
 */
private boolean sendChunk() throws IOException {
  // allocate Buffer
  final Buffer buffer = mm.allocate(chunkSize);
  // mark it available for disposal after content is written
  buffer.allowBufferDispose(true);
  // read file to the Buffer
  final int justReadBytes = (int) Buffers.readFromFileChannel(
      fileChannel, buffer);
  
  if (justReadBytes <= 0) {
    complete(false);
    return false;
  }
  // prepare buffer to be written
  buffer.trim();
  // write the Buffer
  outputStream.write(buffer);
  size -= justReadBytes;
  // check the remaining size here to avoid extra onWritePossible() invocation
  if (size <= 0) {
    complete(false);
    return false;
  }
  return true;
}

代码示例来源:origin: org.glassfish.grizzly/grizzly-websockets-server

/**
 * Send next CHUNK_SIZE of file
 */
private boolean sendChunk() throws IOException {
  // allocate Buffer
  final Buffer buffer = mm.allocate(chunkSize);
  // mark it available for disposal after content is written
  buffer.allowBufferDispose(true);
  // read file to the Buffer
  final int justReadBytes = (int) Buffers.readFromFileChannel(
      fileChannel, buffer);
  
  if (justReadBytes <= 0) {
    complete(false);
    return false;
  }
  // prepare buffer to be written
  buffer.trim();
  // write the Buffer
  outputStream.write(buffer);
  size -= justReadBytes;
  // check the remaining size here to avoid extra onWritePossible() invocation
  if (size <= 0) {
    complete(false);
    return false;
  }
  return true;
}

代码示例来源:origin: javaee/grizzly

/**
 * Send next CHUNK_SIZE of file
 */
private boolean sendChunk() throws IOException {
  // allocate Buffer
  final Buffer buffer = mm.allocate(chunkSize);
  // mark it available for disposal after content is written
  buffer.allowBufferDispose(true);
  // read file to the Buffer
  final int justReadBytes = (int) Buffers.readFromFileChannel(
      fileChannel, buffer);
  
  if (justReadBytes <= 0) {
    complete(false);
    return false;
  }
  // prepare buffer to be written
  buffer.trim();
  // write the Buffer
  outputStream.write(buffer);
  size -= justReadBytes;
  // check the remaining size here to avoid extra onWritePossible() invocation
  if (size <= 0) {
    complete(false);
    return false;
  }
  return true;
}

代码示例来源:origin: org.glassfish.grizzly/grizzly-http-server

/**
 * Send next CHUNK_SIZE of file
 */
private boolean sendChunk() throws IOException {
  // allocate Buffer
  final Buffer buffer = mm.allocate(chunkSize);
  // mark it available for disposal after content is written
  buffer.allowBufferDispose(true);
  // read file to the Buffer
  final int justReadBytes = (int) Buffers.readFromFileChannel(
      fileChannel, buffer);
  
  if (justReadBytes <= 0) {
    complete(false);
    return false;
  }
  // prepare buffer to be written
  buffer.trim();
  // write the Buffer
  outputStream.write(buffer);
  size -= justReadBytes;
  // check the remaining size here to avoid extra onWritePossible() invocation
  if (size <= 0) {
    complete(false);
    return false;
  }
  return true;
}

代码示例来源:origin: javaee/grizzly

private void send() {
  final int chunkSize = 8192;
  try {
    boolean isLast;
    do {
      final Buffer buffer = ctx.getMemoryManager().allocate(chunkSize);
      buffer.allowBufferDispose(true);
      
      final long readNow = Buffers.readFromFileChannel(fc, buffer);
      isLast = readNow <= 0 || (remaining -= readNow) <= 0;
      buffer.trim();
      ctx.write(HttpContent.builder(response)
          .content(buffer)
          .last(isLast)
          .build());
      
    } while (!isLast && output.canWrite());
    
    if (isLast) {
      done();
    } else {
      output.notifyCanWrite(this);
    }
  } catch (IOException e) {
    done();
  }
}

代码示例来源:origin: org.glassfish.grizzly/grizzly-websockets-server

private void send() {
  final int chunkSize = 8192;
  try {
    boolean isLast;
    do {
      final Buffer buffer = ctx.getMemoryManager().allocate(chunkSize);
      buffer.allowBufferDispose(true);
      
      final long readNow = Buffers.readFromFileChannel(fc, buffer);
      isLast = readNow <= 0 || (remaining -= readNow) <= 0;
      buffer.trim();
      ctx.write(HttpContent.builder(response)
          .content(buffer)
          .last(isLast)
          .build());
      
    } while (!isLast && output.canWrite());
    
    if (isLast) {
      done();
    } else {
      output.notifyCanWrite(this);
    }
  } catch (IOException e) {
    done();
  }
}

代码示例来源:origin: org.mule.glassfish.grizzly/grizzly-http-server

private void send() {
  final int chunkSize = 8192;
  try {
    boolean isLast;
    do {
      final Buffer buffer = ctx.getMemoryManager().allocate(chunkSize);
      buffer.allowBufferDispose(true);
      
      final long readNow = Buffers.readFromFileChannel(fc, buffer);
      isLast = readNow <= 0 || (remaining -= readNow) <= 0;
      buffer.trim();
      ctx.write(HttpContent.builder(response)
          .content(buffer)
          .last(isLast)
          .build());
      
    } while (!isLast && output.canWrite());
    
    if (isLast) {
      done();
    } else {
      output.notifyCanWrite(this);
    }
  } catch (IOException e) {
    done();
  }
}

代码示例来源:origin: javaee/grizzly

private void send() {
  final int chunkSize = 8192;
  try {
    boolean isLast;
    do {
      final Buffer buffer = ctx.getMemoryManager().allocate(chunkSize);
      buffer.allowBufferDispose(true);
      
      final long readNow = Buffers.readFromFileChannel(fc, buffer);
      isLast = readNow <= 0 || (remaining -= readNow) <= 0;
      buffer.trim();
      ctx.write(HttpContent.builder(response)
          .content(buffer)
          .last(isLast)
          .build());
      
    } while (!isLast && output.canWrite());
    
    if (isLast) {
      done();
    } else {
      output.notifyCanWrite(this);
    }
  } catch (IOException e) {
    done();
  }
}

代码示例来源:origin: javaee/grizzly

private void send() {
  final int chunkSize = 8192;
  try {
    boolean isLast;
    do {
      final Buffer buffer = ctx.getMemoryManager().allocate(chunkSize);
      buffer.allowBufferDispose(true);
      
      final long readNow = Buffers.readFromFileChannel(fc, buffer);
      isLast = readNow <= 0 || (remaining -= readNow) <= 0;
      buffer.trim();
      ctx.write(HttpContent.builder(response)
          .content(buffer)
          .last(isLast)
          .build());
      
    } while (!isLast && output.canWrite());
    
    if (isLast) {
      done();
    } else {
      output.notifyCanWrite(this);
    }
  } catch (IOException e) {
    done();
  }
}

代码示例来源:origin: org.glassfish.grizzly/grizzly-http-server-core

private void send() {
  final int chunkSize = 8192;
  try {
    boolean isLast;
    do {
      final Buffer buffer = ctx.getMemoryManager().allocate(chunkSize);
      buffer.allowBufferDispose(true);
      
      final long readNow = Buffers.readFromFileChannel(fc, buffer);
      isLast = readNow <= 0 || (remaining -= readNow) <= 0;
      buffer.trim();
      ctx.write(HttpContent.builder(response)
          .content(buffer)
          .last(isLast)
          .build());
      
    } while (!isLast && output.canWrite());
    
    if (isLast) {
      done();
    } else {
      output.notifyCanWrite(this);
    }
  } catch (IOException e) {
    done();
  }
}

代码示例来源:origin: org.glassfish.grizzly/grizzly-http-server

private void send() {
  final int chunkSize = 8192;
  try {
    boolean isLast;
    do {
      final Buffer buffer = ctx.getMemoryManager().allocate(chunkSize);
      buffer.allowBufferDispose(true);
      
      final long readNow = Buffers.readFromFileChannel(fc, buffer);
      isLast = readNow <= 0 || (remaining -= readNow) <= 0;
      buffer.trim();
      ctx.write(HttpContent.builder(response)
          .content(buffer)
          .last(isLast)
          .build());
      
    } while (!isLast && output.canWrite());
    
    if (isLast) {
      done();
    } else {
      output.notifyCanWrite(this);
    }
  } catch (IOException e) {
    done();
  }
}

代码示例来源:origin: javaee/grizzly

private void send() {
  final int chunkSize = 8192;
  try {
    boolean isLast;
    do {
      final Buffer buffer = ctx.getMemoryManager().allocate(chunkSize);
      buffer.allowBufferDispose(true);
      
      final long readNow = Buffers.readFromFileChannel(fc, buffer);
      isLast = readNow <= 0 || (remaining -= readNow) <= 0;
      buffer.trim();
      ctx.write(HttpContent.builder(response)
          .content(buffer)
          .last(isLast)
          .build());
      
    } while (!isLast && output.canWrite());
    
    if (isLast) {
      done();
    } else {
      output.notifyCanWrite(this);
    }
  } catch (IOException e) {
    done();
  }
}

代码示例来源:origin: javaee/grizzly

private void send() {
  final int chunkSize = 8192;
  try {
    boolean isLast;
    do {
      final Buffer buffer = ctx.getMemoryManager().allocate(chunkSize);
      buffer.allowBufferDispose(true);
      
      final long readNow = Buffers.readFromFileChannel(fc, buffer);
      isLast = readNow <= 0 || (remaining -= readNow) <= 0;
      buffer.trim();
      ctx.write(HttpContent.builder(response)
          .content(buffer)
          .last(isLast)
          .build());
      
    } while (!isLast && output.canWrite());
    
    if (isLast) {
      done();
    } else {
      output.notifyCanWrite(this);
    }
  } catch (IOException e) {
    done();
  }
}

代码示例来源:origin: javaee/grizzly

private void send() {
  final int chunkSize = 8192;
  try {
    boolean isLast;
    do {
      final Buffer buffer = ctx.getMemoryManager().allocate(chunkSize);
      buffer.allowBufferDispose(true);
      
      final long readNow = Buffers.readFromFileChannel(fc, buffer);
      isLast = readNow <= 0 || (remaining -= readNow) <= 0;
      buffer.trim();
      ctx.write(HttpContent.builder(response)
          .content(buffer)
          .last(isLast)
          .build());
      
    } while (!isLast && output.canWrite());
    
    if (isLast) {
      done();
    } else {
      output.notifyCanWrite(this);
    }
  } catch (IOException e) {
    done();
  }
}

代码示例来源:origin: javaee/grizzly

private void send() {
  final int chunkSize = 8192;
  try {
    boolean isLast;
    do {
      final Buffer buffer = ctx.getMemoryManager().allocate(chunkSize);
      buffer.allowBufferDispose(true);
      
      final long readNow = Buffers.readFromFileChannel(fc, buffer);
      isLast = readNow <= 0 || (remaining -= readNow) <= 0;
      buffer.trim();
      ctx.write(HttpContent.builder(response)
          .content(buffer)
          .last(isLast)
          .build());
      
    } while (!isLast && output.canWrite());
    
    if (isLast) {
      done();
    } else {
      output.notifyCanWrite(this);
    }
  } catch (IOException e) {
    done();
  }
}

相关文章