当前位置: 首页>>代码示例>>Java>>正文


Java MediaDriver类代码示例

本文整理汇总了Java中io.aeron.driver.MediaDriver的典型用法代码示例。如果您正苦于以下问题:Java MediaDriver类的具体用法?Java MediaDriver怎么用?Java MediaDriver使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


MediaDriver类属于io.aeron.driver包,在下文中一共展示了MediaDriver类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: HeliosDriver

import io.aeron.driver.MediaDriver; //导入依赖的package包/类
public HeliosDriver(final HeliosContext context, final MediaDriver.Context driverContext)
{
    String mediaDriverConf = context.getMediaDriverConf();
    if (mediaDriverConf != null)
    {
        MediaDriver.loadPropertiesFile(mediaDriverConf);
    }
    else
    {
        driverContext.dirsDeleteOnStart(true);
    }

    driverContext.warnIfDirectoriesExist(false);

    final boolean embeddedMediaDriver = context.isMediaDriverEmbedded();
    mediaDriver = embeddedMediaDriver ? MediaDriver.launchEmbedded(driverContext) : null;
}
 
开发者ID:canepat,项目名称:Helios,代码行数:18,代码来源:HeliosDriver.java

示例2: main

import io.aeron.driver.MediaDriver; //导入依赖的package包/类
@SuppressWarnings("checkstyle:UncommentedMain")
public static void main(final String... args) {
  MediaDriver.loadPropertiesFiles(args);

  setProperty(DISABLE_BOUNDS_CHECKS_PROP_NAME, "true");
  setProperty("aeron.mtu.length", "16384");
  setProperty("aeron.socket.so_sndbuf", "2097152");
  setProperty("aeron.socket.so_rcvbuf", "2097152");
  setProperty("aeron.rcv.initial.window.length", "2097152");

  final MediaDriver.Context ctx = new MediaDriver.Context()
      .threadingMode(ThreadingMode.DEDICATED)
      .dirsDeleteOnStart(true)
      .termBufferSparseFile(false)
      .conductorIdleStrategy(new BusySpinIdleStrategy())
      .receiverIdleStrategy(new BusySpinIdleStrategy())
      .senderIdleStrategy(new BusySpinIdleStrategy());

  try (MediaDriver ignored = MediaDriver.launch(ctx)) {
    new SigIntBarrier().await();

  }
}
 
开发者ID:benalexau,项目名称:rpc-bench,代码行数:24,代码来源:LowLatencyMediaDriver.java

示例3: launch

import io.aeron.driver.MediaDriver; //导入依赖的package包/类
@Before
public void launch()
{
    final int libraryAeronPort = unusedPort();

    final MediaDriver.Context context = mediaDriverContext(TestFixtures.TERM_BUFFER_LENGTH, true);
    context.threadingMode(INVOKER);
    mediaDriver = launchMediaDriver(context);

    delete(ACCEPTOR_LOGS);
    acceptingEngine = FixEngine.launch(
        acceptingConfig(port, ACCEPTOR_ID, INITIATOR_ID)
            .scheduler(new LowResourceEngineScheduler(mediaDriver.sharedAgentInvoker())));

    initiatingEngine = launchInitiatingEngine(libraryAeronPort);

    initiatingLibrary = newInitiatingLibrary(libraryAeronPort, initiatingHandler);
    testSystem = new TestSystem(initiatingLibrary);
}
 
开发者ID:real-logic,项目名称:artio,代码行数:20,代码来源:MultipleAddressSystemTest.java

示例4: shouldRestartWithoutSessions

import io.aeron.driver.MediaDriver; //导入依赖的package包/类
@Test
public void shouldRestartWithoutSessions() throws Exception
{
    MediaDriver mediaDriver = null;
    try
    {
        mediaDriver = TestFixtures.launchMediaDriver();
        final int port = TestFixtures.unusedPort();
        try (FixEngine engine = SystemTestUtil.launchInitiatingEngine(port))
        {
        }

        try (FixEngine engine = SystemTestUtil.launchInitiatingEngineWithSameLogs(port))
        {
        }
    }
    finally
    {
        TestFixtures.cleanupMediaDriver(mediaDriver);
    }
}
 
开发者ID:real-logic,项目名称:artio,代码行数:22,代码来源:EngineRestartTest.java

示例5: shouldStartAndStopInstantly

import io.aeron.driver.MediaDriver; //导入依赖的package包/类
@Test(timeout = 10_000)
public void shouldStartAndStopInstantly()
{
    final MediaDriver.Context driverCtx = new MediaDriver.Context()
        .errorHandler(Throwable::printStackTrace);

    try (MediaDriver ignore = MediaDriver.launchEmbedded(driverCtx))
    {
        final Aeron.Context clientCtx = new Aeron.Context()
            .aeronDirectoryName(driverCtx.aeronDirectoryName());

        //noinspection EmptyTryBlock
        try (Aeron ignored = Aeron.connect(clientCtx))
        {
           // ignore
        }
    }
    finally
    {
        driverCtx.deleteAeronDirectory();
    }
}
 
开发者ID:real-logic,项目名称:aeron,代码行数:23,代码来源:StartStopSystemTest.java

示例6: setUp

import io.aeron.driver.MediaDriver; //导入依赖的package包/类
@Before
public void setUp()
{
    final MediaDriver.Context ctx = new MediaDriver.Context()
        .errorHandler(Throwable::printStackTrace)
        .threadingMode(ThreadingMode.SHARED);

    driver = MediaDriver.launch(ctx);
    pingClient = Aeron.connect();
    pongClient = Aeron.connect();

    pingPublication = pingClient.addPublication(PING_URI, PING_STREAM_ID);
    pingSubscription = pongClient.addSubscription(PING_URI, PING_STREAM_ID);

    pongPublication = pongClient.addPublication(PONG_URI, PONG_STREAM_ID);
    pongSubscription = pingClient.addSubscription(PONG_URI, PONG_STREAM_ID);
}
 
开发者ID:real-logic,项目名称:aeron,代码行数:18,代码来源:PongTest.java

示例7: launch

import io.aeron.driver.MediaDriver; //导入依赖的package包/类
private void launch(final String channelOne, final int streamOne, final String channelTwo, final int streamTwo)
{
    driverOne = MediaDriver.launchEmbedded(
        new MediaDriver.Context()
            .errorHandler(Throwable::printStackTrace)
            .termBufferSparseFile(true));

    driverTwo = MediaDriver.launchEmbedded(
        new MediaDriver.Context()
            .errorHandler(Throwable::printStackTrace)
            .termBufferSparseFile(true));

    publisherOne = Aeron.connect(new Aeron.Context().aeronDirectoryName(driverOne.aeronDirectoryName()));
    subscriberOne = Aeron.connect(new Aeron.Context().aeronDirectoryName(driverTwo.aeronDirectoryName()));
    publisherTwo = Aeron.connect(new Aeron.Context().aeronDirectoryName(driverOne.aeronDirectoryName()));
    subscriberTwo = Aeron.connect(new Aeron.Context().aeronDirectoryName(driverTwo.aeronDirectoryName()));

    publicationOne = publisherOne.addPublication(channelOne, streamOne);
    subscriptionOne = subscriberOne.addSubscription(channelOne, streamOne);
    publicationTwo = publisherTwo.addPublication(channelTwo, streamTwo);
    subscriptionTwo = subscriberTwo.addSubscription(channelTwo, streamTwo);
}
 
开发者ID:real-logic,项目名称:aeron,代码行数:23,代码来源:StopStartSecondSubscriberTest.java

示例8: launch

import io.aeron.driver.MediaDriver; //导入依赖的package包/类
private void launch()
{
    final String baseDirA = ROOT_DIR + "A";
    final String baseDirB = ROOT_DIR + "B";

    buffer.putInt(0, 1);

    final MediaDriver.Context driverAContext = new MediaDriver.Context()
        .errorHandler(Throwable::printStackTrace)
        .publicationTermBufferLength(TERM_BUFFER_LENGTH)
        .aeronDirectoryName(baseDirA)
        .threadingMode(ThreadingMode.SHARED);

    driverBContext.publicationTermBufferLength(TERM_BUFFER_LENGTH)
        .errorHandler(Throwable::printStackTrace)
        .aeronDirectoryName(baseDirB)
        .threadingMode(ThreadingMode.SHARED);

    driverA = MediaDriver.launch(driverAContext);
    driverB = MediaDriver.launch(driverBContext);
    clientA = Aeron.connect(new Aeron.Context().aeronDirectoryName(driverAContext.aeronDirectoryName()));
    clientB = Aeron.connect(new Aeron.Context().aeronDirectoryName(driverBContext.aeronDirectoryName()));
}
 
开发者ID:real-logic,项目名称:aeron,代码行数:24,代码来源:MultiDestinationCastTest.java

示例9: launch

import io.aeron.driver.MediaDriver; //导入依赖的package包/类
private void launch()
{
    labelBuffer.putStringWithoutLengthAscii(0, COUNTER_LABEL);

    driverContext =
        new MediaDriver.Context()
            .errorHandler(Throwable::printStackTrace)
            .threadingMode(ThreadingMode.SHARED);

    driver = MediaDriver.launch(driverContext);

    clientA = Aeron.connect(
        new Aeron.Context()
            .availableCounterHandler(availableCounterHandlerClientA)
            .unavailableCounterHandler(unavailableCounterHandlerClientA));

    clientB = Aeron.connect(
        new Aeron.Context()
            .availableCounterHandler(availableCounterHandlerClientB)
            .unavailableCounterHandler(unavailableCounterHandlerClientB));
}
 
开发者ID:real-logic,项目名称:aeron,代码行数:22,代码来源:CounterTest.java

示例10: shouldHaveCorrectTermBufferLength

import io.aeron.driver.MediaDriver; //导入依赖的package包/类
@Theory
@Test(timeout = 10000)
public void shouldHaveCorrectTermBufferLength(final String channel)
{
    final MediaDriver.Context ctx = new MediaDriver.Context()
        .errorHandler(Throwable::printStackTrace)
        .publicationTermBufferLength(TEST_TERM_LENGTH * 2)
        .ipcTermBufferLength(TEST_TERM_LENGTH * 2);

    try (MediaDriver ignore = MediaDriver.launch(ctx);
        Aeron aeron = Aeron.connect();
        Publication publication = aeron.addPublication(channel, STREAM_ID))
    {
        assertThat(publication.termBufferLength(), is(TEST_TERM_LENGTH));
    }
    finally
    {
        ctx.deleteAeronDirectory();
    }
}
 
开发者ID:real-logic,项目名称:aeron,代码行数:21,代码来源:TermBufferLengthTest.java

示例11: launch

import io.aeron.driver.MediaDriver; //导入依赖的package包/类
private void launch()
{
    final String baseDirA = ROOT_DIR + "A";
    final String baseDirB = ROOT_DIR + "B";

    buffer.putInt(0, 1);

    final MediaDriver.Context driverAContext = new MediaDriver.Context()
        .errorHandler(Throwable::printStackTrace)
        .publicationTermBufferLength(TERM_BUFFER_LENGTH)
        .aeronDirectoryName(baseDirA)
        .threadingMode(THREADING_MODE);

    final MediaDriver.Context driverBContext = new MediaDriver.Context()
        .errorHandler(Throwable::printStackTrace)
        .publicationTermBufferLength(TERM_BUFFER_LENGTH)
        .aeronDirectoryName(baseDirB)
        .threadingMode(THREADING_MODE);

    driverA = MediaDriver.launch(driverAContext);
    driverB = MediaDriver.launch(driverBContext);
    clientA = Aeron.connect(new Aeron.Context().aeronDirectoryName(driverAContext.aeronDirectoryName()));
    clientB = Aeron.connect(new Aeron.Context().aeronDirectoryName(driverBContext.aeronDirectoryName()));
}
 
开发者ID:real-logic,项目名称:aeron,代码行数:25,代码来源:MultiDriverTest.java

示例12: launch

import io.aeron.driver.MediaDriver; //导入依赖的package包/类
/**
 * Launch a new {@link ClusteredMediaDriver} with provided contexts.
 *
 * @param driverCtx          for configuring the {@link MediaDriver}.
 * @param archiveCtx         for configuring the {@link Archive}.
 * @param consensusModuleCtx for the configuration of the {@link ConsensusModule}.
 * @return a new {@link ClusteredMediaDriver} with the provided contexts.
 */
public static ClusteredMediaDriver launch(
    final MediaDriver.Context driverCtx,
    final Archive.Context archiveCtx,
    final ConsensusModule.Context consensusModuleCtx)
{
    final MediaDriver driver = MediaDriver.launch(driverCtx
        .spiesSimulateConnection(true));

    final Archive archive = Archive.launch(archiveCtx
        .mediaDriverAgentInvoker(driver.sharedAgentInvoker())
        .errorHandler(driverCtx.errorHandler())
        .errorCounter(driverCtx.systemCounters().get(SystemCounterDescriptor.ERRORS)));

    final ConsensusModule consensusModule = ConsensusModule.launch(consensusModuleCtx
        .errorHandler(driverCtx.errorHandler())
        .errorCounter(driverCtx.systemCounters().get(SystemCounterDescriptor.ERRORS)));

    return new ClusteredMediaDriver(driver, archive, consensusModule);
}
 
开发者ID:real-logic,项目名称:aeron,代码行数:28,代码来源:ClusteredMediaDriver.java

示例13: launchClusteredMediaDriver

import io.aeron.driver.MediaDriver; //导入依赖的package包/类
private void launchClusteredMediaDriver(final boolean initialLaunch)
{
    clusteredMediaDriver = ClusteredMediaDriver.launch(
        new MediaDriver.Context()
            .warnIfDirectoryExists(initialLaunch)
            .threadingMode(ThreadingMode.SHARED)
            .termBufferSparseFile(true)
            .errorHandler(Throwable::printStackTrace)
            .dirDeleteOnStart(true),
        new Archive.Context()
            .threadingMode(ArchiveThreadingMode.SHARED)
            .deleteArchiveOnStart(initialLaunch),
        new ConsensusModule.Context()
            .snapshotCounter(mockSnapshotCounter)
            .terminationHook(() -> isTerminated.set(true))
            .deleteDirOnStart(initialLaunch));
}
 
开发者ID:real-logic,项目名称:aeron,代码行数:18,代码来源:ClusterNodeRestartTest.java

示例14: EmbeddedReplayThroughput

import io.aeron.driver.MediaDriver; //导入依赖的package包/类
public EmbeddedReplayThroughput()
{
    final String archiveDirName = Archive.Configuration.archiveDirName();
    final File archiveDir =  ARCHIVE_DIR_DEFAULT.equals(archiveDirName) ?
        TestUtil.createTempDir() : new File(archiveDirName);

    archivingMediaDriver = ArchivingMediaDriver.launch(
        new MediaDriver.Context()
            .dirDeleteOnStart(true),
        new Archive.Context()
            .archiveDir(archiveDir));

    aeron = Aeron.connect();

    aeronArchive = AeronArchive.connect(
        new AeronArchive.Context()
            .aeron(aeron));
}
 
开发者ID:real-logic,项目名称:aeron,代码行数:19,代码来源:EmbeddedReplayThroughput.java

示例15: EmbeddedRecordingThroughput

import io.aeron.driver.MediaDriver; //导入依赖的package包/类
public EmbeddedRecordingThroughput()
{
    final String archiveDirName = Archive.Configuration.archiveDirName();
    final File archiveDir =  ARCHIVE_DIR_DEFAULT.equals(archiveDirName) ?
        TestUtil.createTempDir() : new File(archiveDirName);

    archivingMediaDriver = ArchivingMediaDriver.launch(
        new MediaDriver.Context()
            .spiesSimulateConnection(true)
            .dirDeleteOnStart(true),
        new Archive.Context()
            .deleteArchiveOnStart(true)
            .archiveDir(archiveDir));

    aeron = Aeron.connect();

    aeronArchive = AeronArchive.connect(
        new AeronArchive.Context()
            .aeron(aeron));

    recordingEventsThread = new Thread(this::runRecordingEventPoller);
    recordingEventsThread.setName("recording-events-poller");
    recordingEventsThread.start();
}
 
开发者ID:real-logic,项目名称:aeron,代码行数:25,代码来源:EmbeddedRecordingThroughput.java


注:本文中的io.aeron.driver.MediaDriver类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。