本文整理汇总了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;
}
示例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();
}
}
示例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);
}
示例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);
}
}
示例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();
}
}
示例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);
}
示例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);
}
示例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()));
}
示例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));
}
示例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();
}
}
示例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()));
}
示例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);
}
示例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));
}
示例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));
}
示例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();
}