Skip to content

What is the Media Driver and why do I need it?

Problem

You've noticed you're configuring Aeron and a Media Driver and want to understand what the Media Driver is.

Discussion

The Media Driver is the component responsible for interacting with UDP and IPC media. The diagram below shows the core components that make up a Media Driver embedded within an application.

media-driver Sender Publication Subscription Media Driver Conductor Client Conductor Receiver Client Application Volatile Fields & Queues Media Driver IPC Ring/Broadcast Buffers IPC/UDP IPC Log Buffer

The Media Driver is made up of 3 components:

  • The Sender, which is responsible for transmission of data over the configured media. The Aeron client communicates with the sender via Log Buffers that are appended to by Publications.
  • The Driver Conductor, which is responsible for IPC flows, network name resolution, and coordination tasks. The Driver Conductor communicates with the Client conductor in the Aeron client.
  • The Receiver, which is responsible for receiving data from the media, along with dealing with received Images, and sending NAK and Status messages as required. The Receiver communicates with the Aeron client via Subscriptions.

You can configure the Media Driver in several ways:

  • In process in your Java or C application
  • Out of process, as a Java Media Driver
  • Out of process, as a C Media Driver

See Also