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


Java MediaDriver.launchEmbedded方法代码示例

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


在下文中一共展示了MediaDriver.launchEmbedded方法的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: 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

示例3: 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

示例4: before

import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
@BeforeClass
public static void before() throws Exception {
    mediaDriver = MediaDriver.launchEmbedded(AeronUtil.getMediaDriverContext(parameterLength));
    System.setProperty("play.server.dir", "/tmp");
    aeron = Aeron.connect(getContext());
    parameterServerNode = new ParameterServerNode(mediaDriver, statusPort);
    parameterServerNode.runMain(new String[] {"-m", "true", "-s", "1," + String.valueOf(parameterLength), "-p",
                    String.valueOf(masterStatusPort), "-h", "localhost", "-id", "11", "-md",
                    mediaDriver.aeronDirectoryName(), "-sp", String.valueOf(statusPort), "-sh", "localhost", "-u",
                    String.valueOf(Runtime.getRuntime().availableProcessors())});

    while (!parameterServerNode.subscriberLaunched()) {
        Thread.sleep(10000);
    }

}
 
开发者ID:deeplearning4j,项目名称:nd4j,代码行数:17,代码来源:ParameterServerNodeTest.java

示例5: shouldThrowExceptionWhenChannelIsNull

import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
@Test(expected = NullPointerException.class)
public void shouldThrowExceptionWhenChannelIsNull()
{
    final MediaDriver.Context driverContext = new MediaDriver.Context();
    driverContext.dirsDeleteOnStart(true);
    final MediaDriver driver = MediaDriver.launchEmbedded(driverContext);

    final Aeron.Context aeronContext = new Aeron.Context();
    aeronContext.aeronDirectoryName(driver.aeronDirectoryName());

    new AeronStream(Aeron.connect(aeronContext), null, 0);
}
 
开发者ID:canepat,项目名称:Helios,代码行数:13,代码来源:AeronStreamTest.java

示例6: EmbeddedAeron

import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public EmbeddedAeron(final String channel, final int streamId) {
    final MediaDriver.Context mctx = new MediaDriver.Context();
    mctx.threadingMode(ThreadingMode.DEDICATED);
    mediaDriver = MediaDriver.launchEmbedded(mctx);
    final Aeron.Context actx = new Aeron.Context();
    actx.aeronDirectoryName(mediaDriver.aeronDirectoryName());
    aeron = Aeron.connect(actx);
    subscription = aeron.addSubscription(channel, streamId);
    publication = aeron.addPublication(channel, streamId);
}
 
开发者ID:terzerm,项目名称:fx-highway,代码行数:11,代码来源:EmbeddedAeron.java

示例7: BenchServer

import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public BenchServer() {
  running = new AtomicBoolean(true);
  SigInt.register(() -> running.set(false));
  driver = EMBEDDED_MEDIA_DRIVER ? MediaDriver.launchEmbedded() : null;
  ctx = new Aeron.Context();
  if (EMBEDDED_MEDIA_DRIVER) {
    ctx.aeronDirectoryName(driver.aeronDirectoryName());
  }
  fragmentHandler = new FragmentAssembler(this::onMessage);
  aeron = Aeron.connect(ctx);
  publication = aeron.addPublication(REP_CHAN, REP_STREAM_ID);
  subscription = aeron.addSubscription(REQ_CHAN, REQ_STREAM_ID);
}
 
开发者ID:benalexau,项目名称:rpc-bench,代码行数:14,代码来源:BenchServer.java

示例8: BenchClient

import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public BenchClient() {
  driver = EMBEDDED_MEDIA_DRIVER ? MediaDriver.launchEmbedded() : null;
  ctx = new Aeron.Context().availableImageHandler(this::imageHandler);
  if (EMBEDDED_MEDIA_DRIVER) {
    ctx.aeronDirectoryName(driver.aeronDirectoryName());
  }
  fragmentHandler = new FragmentAssembler(this::onMessage);
  aeron = Aeron.connect(ctx);
  publication = aeron.addPublication(REQ_CHAN, REQ_STREAM_ID);
  subscription = aeron.addSubscription(REP_CHAN, REP_STREAM_ID);
}
 
开发者ID:benalexau,项目名称:rpc-bench,代码行数:12,代码来源:BenchClient.java

示例9: main

import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public static void main(final String[] args)
{
    System.out.println("Subscribing to " + CHANNEL + " on stream Id " + STREAM_ID);

    final MediaDriver driver = EMBEDDED_MEDIA_DRIVER ? MediaDriver.launchEmbedded() : null;
    final Aeron.Context ctx = new Aeron.Context()
        .availableImageHandler(SamplesUtil::printAvailableImage)
        .unavailableImageHandler(SamplesUtil::printUnavailableImage);

    if (EMBEDDED_MEDIA_DRIVER)
    {
        ctx.aeronDirectoryName(driver.aeronDirectoryName());
    }

    final FragmentHandler fragmentHandler = SamplesUtil.printStringMessage(STREAM_ID);
    final AtomicBoolean running = new AtomicBoolean(true);

    // Register a SIGINT handler for graceful shutdown.
    SigInt.register(() -> running.set(false));

    // Create an Aeron instance using the configured Context and create a
    // Subscription on that instance that subscribes to the configured
    // channel and stream ID.
    // The Aeron and Subscription classes implement "AutoCloseable" and will automatically
    // clean up resources when this try block is finished
    try (Aeron aeron = Aeron.connect(ctx);
        Subscription subscription = aeron.addSubscription(CHANNEL, STREAM_ID))
    {
        SamplesUtil.subscriberLoop(fragmentHandler, FRAGMENT_COUNT_LIMIT, running).accept(subscription);

        System.out.println("Shutting down...");
    }

    CloseHelper.quietClose(driver);
}
 
开发者ID:real-logic,项目名称:aeron,代码行数:36,代码来源:BasicSubscriber.java

示例10: before

import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
@Before
public void before() {
    final MediaDriver.Context ctx =
                    new MediaDriver.Context().threadingMode(ThreadingMode.SHARED).dirsDeleteOnStart(true)
                                    .termBufferSparseFile(false).conductorIdleStrategy(new BusySpinIdleStrategy())
                                    .receiverIdleStrategy(new BusySpinIdleStrategy())
                                    .senderIdleStrategy(new BusySpinIdleStrategy());
    mediaDriver = MediaDriver.launchEmbedded(ctx);
    System.out.println("Using media driver directory " + mediaDriver.aeronDirectoryName());
    System.out.println("Launched media driver");
}
 
开发者ID:deeplearning4j,项目名称:nd4j,代码行数:12,代码来源:AeronNDArrayResponseTest.java

示例11: before

import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
@Before
public void before() {
    MediaDriver.Context ctx = AeronUtil.getMediaDriverContext(length);
    mediaDriver = MediaDriver.launchEmbedded(ctx);
    System.out.println("Using media driver directory " + mediaDriver.aeronDirectoryName());
    System.out.println("Launched media driver");
}
 
开发者ID:deeplearning4j,项目名称:nd4j,代码行数:8,代码来源:NdArrayIpcTest.java

示例12: before

import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
@Before
public void before() {
    //MediaDriver.loadPropertiesFile("aeron.properties");
    MediaDriver.Context ctx = AeronUtil.getMediaDriverContext(length);
    mediaDriver = MediaDriver.launchEmbedded(ctx);
    System.out.println("Using media driver directory " + mediaDriver.aeronDirectoryName());
    System.out.println("Launched media driver");
}
 
开发者ID:deeplearning4j,项目名称:nd4j,代码行数:9,代码来源:LargeNdArrayIpcTest.java

示例13: init

import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
/**
 * Initialize the context
 *
 * @param model
 * @param args the arguments to initialize with (maybe null)
 */
@Override
public void init(Model model, Object... args) {
    mediaDriverContext = new MediaDriver.Context();
    mediaDriver = MediaDriver.launchEmbedded(mediaDriverContext);
    parameterServerNode = new ParameterServerNode(mediaDriver, statusServerPort, numWorkers);
    if (parameterServerArgs == null)
        parameterServerArgs = new String[] {"-m", "true", "-s", "1," + String.valueOf(model.numParams()), "-p",
                        "40323", "-h", "localhost", "-id", "11", "-md", mediaDriver.aeronDirectoryName(), "-sh",
                        "localhost", "-sp", String.valueOf(statusServerPort), "-u",
                        String.valueOf(numUpdatesPerEpoch)};

}
 
开发者ID:deeplearning4j,项目名称:deeplearning4j,代码行数:19,代码来源:ParameterServerTrainerContext.java

示例14: main

import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public static void main(final String[] args)
{
    final MediaDriver driver = EMBEDDED_MEDIA_DRIVER ? MediaDriver.launchEmbedded() : null;

    final Aeron.Context ctx = new Aeron.Context();
    if (EMBEDDED_MEDIA_DRIVER)
    {
        ctx.aeronDirectoryName(driver.aeronDirectoryName());
    }

    if (INFO_FLAG)
    {
        ctx.availableImageHandler(SamplesUtil::printAvailableImage);
        ctx.unavailableImageHandler(SamplesUtil::printUnavailableImage);
    }

    final IdleStrategy idleStrategy = new BusySpinIdleStrategy();

    System.out.println("Subscribing Ping at " + PING_CHANNEL + " on stream Id " + PING_STREAM_ID);
    System.out.println("Publishing Pong at " + PONG_CHANNEL + " on stream Id " + PONG_STREAM_ID);

    final AtomicBoolean running = new AtomicBoolean(true);
    SigInt.register(() -> running.set(false));

    try (Aeron aeron = Aeron.connect(ctx);
        Publication pongPublication = aeron.addPublication(PONG_CHANNEL, PONG_STREAM_ID);
        Subscription pingSubscription = aeron.addSubscription(PING_CHANNEL, PING_STREAM_ID))
    {
        final FragmentAssembler dataHandler = new FragmentAssembler(
            (buffer, offset, length, header) -> pingHandler(pongPublication, buffer, offset, length));

        while (running.get())
        {
            idleStrategy.idle(pingSubscription.poll(dataHandler, FRAME_COUNT_LIMIT));
        }

        System.out.println("Shutting down...");
    }

    CloseHelper.quietClose(driver);
}
 
开发者ID:real-logic,项目名称:aeron,代码行数:42,代码来源:Pong.java

示例15: main

import io.aeron.driver.MediaDriver; //导入方法依赖的package包/类
public static void main(final String[] args) throws Exception
{
    final MediaDriver driver = EMBEDDED_MEDIA_DRIVER ? MediaDriver.launchEmbedded() : null;
    final Aeron.Context ctx = new Aeron.Context().availableImageHandler(Ping::availablePongImageHandler);
    final FragmentHandler fragmentHandler = new FragmentAssembler(Ping::pongHandler);

    if (EMBEDDED_MEDIA_DRIVER)
    {
        ctx.aeronDirectoryName(driver.aeronDirectoryName());
    }

    System.out.println("Publishing Ping at " + PING_CHANNEL + " on stream Id " + PING_STREAM_ID);
    System.out.println("Subscribing Pong at " + PONG_CHANNEL + " on stream Id " + PONG_STREAM_ID);
    System.out.println("Message length of " + MESSAGE_LENGTH + " bytes");

    try (Aeron aeron = Aeron.connect(ctx))
    {
        System.out.println(
            "Warming up... " + WARMUP_NUMBER_OF_ITERATIONS +
            " iterations of " + WARMUP_NUMBER_OF_MESSAGES + " messages");

        try (Publication publication = aeron.addPublication(PING_CHANNEL, PING_STREAM_ID);
            Subscription subscription = aeron.addSubscription(PONG_CHANNEL, PONG_STREAM_ID))
        {
            LATCH.await();

            for (int i = 0; i < WARMUP_NUMBER_OF_ITERATIONS; i++)
            {
                roundTripMessages(fragmentHandler, publication, subscription, WARMUP_NUMBER_OF_MESSAGES);
            }

            Thread.sleep(100);
            final ContinueBarrier barrier = new ContinueBarrier("Execute again?");

            do
            {
                HISTOGRAM.reset();
                System.out.println("Pinging " + NUMBER_OF_MESSAGES + " messages");

                roundTripMessages(fragmentHandler, publication, subscription, NUMBER_OF_MESSAGES);
                System.out.println("Histogram of RTT latencies in microseconds.");

                HISTOGRAM.outputPercentileDistribution(System.out, 1000.0);
            }
            while (barrier.await());
        }
    }

    CloseHelper.quietClose(driver);
}
 
开发者ID:real-logic,项目名称:aeron,代码行数:51,代码来源:Ping.java


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