net.openhft.chronicle.bytes.Bytes.release()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(6.2k)|赞(0)|评价(0)|浏览(72)

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

Bytes.release介绍

暂无

代码示例

代码示例来源:origin: OpenHFT/Chronicle-Queue

@Override
  public void close() {
    textConversionTarget.release();
  }
}

代码示例来源:origin: OpenHFT/Chronicle-Queue

@Override
  public void close() {
    textConversionTarget.release();
  }
}

代码示例来源:origin: OpenHFT/Chronicle-Queue

private static void releaseIfNotNull(final Bytes bytesReference) {
  // Object is no longer reachable, check that it has not already been released
  if (bytesReference != null && bytesReference.refCount() > 0) {
    bytesReference.release();
  }
}

代码示例来源:origin: OpenHFT/Chronicle-Queue

private static boolean processWireQueue() {
  Wire wireToRelease;
  boolean released = false;
  while ((wireToRelease = WIRES_TO_RELEASE.poll()) != null) {
    try {
      released = true;
      wireToRelease.bytes().release();
    } catch (IllegalStateException e) {
      // ignore this - resource may have already been released by explicit close() operation
    } catch (Throwable t) {
      LOGGER.warn("Failed to release wire bytes", t);
    }
  }
  return released;
}

代码示例来源:origin: OpenHFT/Chronicle-Queue

@After
public void before() {
  bytes.release();
}

代码示例来源:origin: OpenHFT/Chronicle-Queue

private void close() {
  // the wire ref count will be released here by setting it to null
  context.wire(null);
  Wire w0 = wireForIndex;
  if (w0 != null)
    w0.bytes().release();
  wireForIndex = null;
  if (store != null) {
    queue.release(store);
  }
  store = null;
}

代码示例来源:origin: OpenHFT/Chronicle-Queue

void close() {
  Wire w0 = wireForIndex;
  wireForIndex = null;
  if (w0 != null)
    w0.bytes().release();
  Wire w = wire;
  wire = null;
  if (w != null) {
    w.bytes().release();
  }
  if (pretoucher != null)
    pretoucher.close();
  if (store != null) {
    storePool.release(store);
  }
  store = null;
  storePool.close();
}

代码示例来源:origin: OpenHFT/Chronicle-Queue

@After
public void after() {
  outbound.release();
}

代码示例来源:origin: OpenHFT/Chronicle-Queue

err.println("Failed to read " + file + " " + ioe);
} finally {
  buffer.release();

代码示例来源:origin: OpenHFT/Chronicle-Queue

@Override
public void writeEOF(@NotNull Wire wire, long timeoutMS) {
  // just in case we are about to release this
  if (wire.bytes().tryReserve()) {
    wire.writeEndOfWire(timeoutMS, TimeUnit.MILLISECONDS, writePosition());
    wire.bytes().release();
  } else {
    Jvm.debug().on(getClass(), "Tried to writeEOF to as it was being closed");
  }
}

代码示例来源:origin: OpenHFT/Chronicle-Queue

@After
  public void checkRegisteredBytes() {
    outgoingBytes.release();
    BytesUtil.checkRegisteredBytes();
  }
}

代码示例来源:origin: OpenHFT/Chronicle-Queue

private static void readMessage(final ChronicleQueue queue,
                final boolean manuallyReleaseResources,
                final Consumer<ExcerptTailer> refHolder) {
  final Bytes<ByteBuffer> bytes = Bytes.elasticByteBuffer();
  try {
    final ExcerptTailer tailer = queue.createTailer();
    while (bytes.isEmpty()) {
      tailer.toStart().readBytes(bytes);
    }
    refHolder.accept(tailer);
    assertThat(Math.signum(bytes.readInt()) >= 0, is(true));
    if (manuallyReleaseResources) {
      try {
        ((SingleChronicleQueueExcerpts.StoreTailer) tailer).releaseResources();
      } catch (RuntimeException e) {
        // ignore
      }
    }
  } finally {
    bytes.release();
  }
}

代码示例来源:origin: OpenHFT/Chronicle-Queue

bytes.release();
} catch (Throwable t) {
  t.printStackTrace();
    appender.writeBytes(message);
  message.release();
} catch (Throwable t) {
  t.printStackTrace();

代码示例来源:origin: OpenHFT/Chronicle-Queue

f.get(1, TimeUnit.SECONDS);
} finally {
  bytes.release();

代码示例来源:origin: OpenHFT/Chronicle-Queue

@Test
public void testSimpleByteTest() {
  assumeFalse(Jvm.isArm());
  try (final ChronicleQueue chronicle = builder(getTmpDir(), wireType)
      .rollCycle(TEST2_DAILY)
      .build()) {
    final ExcerptAppender appender = chronicle.acquireAppender();
    Bytes steve = Bytes.allocateDirect("Steve".getBytes());
    appender.writeBytes(steve);
    Bytes jobs = Bytes.allocateDirect("Jobs".getBytes());
    appender.writeBytes(jobs);
    final ExcerptTailer tailer = chronicle.createTailer();
    Bytes bytes = Bytes.elasticByteBuffer();
    try {
      tailer.readBytes(bytes);
      Assert.assertEquals("Steve", bytes.toString());
      bytes.clear();
      tailer.readBytes(bytes);
      Assert.assertEquals("Jobs", bytes.toString());
    } finally {
      steve.release();
      jobs.release();
      bytes.release();
    }
  }
}

代码示例来源:origin: OpenHFT/Chronicle-Queue

bytes.release();
long end = System.nanoTime();
long time2 = end - mid;

代码示例来源:origin: OpenHFT/Chronicle-Queue

public void appendMessage(@NotNull ChronicleQueue queue, long expectedIndex, String msg) {
  @NotNull ExcerptAppender appender = queue.acquireAppender();
  switch (appendMode) {
    case 1:
      appender.writeDocument(w -> w.write(() -> "msg").text(msg));
      break;
    case 2:
      Bytes bytes = Bytes.elasticByteBuffer();
      new BinaryWire(bytes).write(() -> "msg").text(msg);
      appender.writeBytes(bytes);
      bytes.release();
      break;
    default:
      try (DocumentContext dc = appender.writingDocument()) {
        Wire wire = dc.wire();
        wire.write(() -> "msg").text(msg);
      }
      break;
  }
  long index = appender.lastIndexAppended();
  assertHexEquals(expectedIndex, index);
}

代码示例来源:origin: OpenHFT/Chronicle-Queue

@Test
public void testReadingLessBytesThanWritten() {
  try (final ChronicleQueue queue = builder(getTmpDir(), wireType)
      .build()) {
    final ExcerptAppender appender = queue.acquireAppender();
    final Bytes<byte[]> expected = Bytes.wrapForRead("some long message".getBytes(ISO_8859_1));
    for (int i = 0; i < 10; i++) {
      appender.writeBytes(expected);
    }
    final ExcerptTailer tailer = queue.createTailer();
    // Sequential read
    for (int i = 0; i < 10; i++) {
      Bytes b = Bytes.allocateDirect(8);
      tailer.readBytes(b);
      Assert.assertEquals(expected.readInt(0), b.readInt(0));
      b.release();
    }
  }
}

代码示例来源:origin: OpenHFT/Chronicle-Queue

@Test//(timeout = 5000)
public void testTailerReadingEmptyQueue() {
  assumeFalse(Jvm.isArm());
  final File path = DirectoryUtils.tempDir("testTailerReadingEmptyQueue");
  final ChronicleQueue rqueue = SingleChronicleQueueBuilder.fieldlessBinary(path)
      .testBlockSize()
      .rollCycle(TEST_DAILY)
      .build();
  final ExcerptTailer tailer = rqueue.createTailer();
  final ChronicleQueue wqueue = SingleChronicleQueueBuilder.fieldlessBinary(path)
      .testBlockSize()
      .rollCycle(TEST_DAILY)
      .build();
  Bytes bytes = Bytes.elasticByteBuffer();
  assertFalse(tailer.readBytes(bytes));
  final ExcerptAppender appender = wqueue.acquireAppender();
  appender.writeBytes(Bytes.wrapForRead("Hello World".getBytes(ISO_8859_1)));
  bytes.clear();
  assertTrue(tailer.readBytes(bytes));
  assertEquals("Hello World", bytes.toString());
  bytes.release();
}

代码示例来源:origin: OpenHFT/Chronicle-Queue

bytes.release();

相关文章

微信公众号

最新文章

更多