The goal of :metadata-server-test
is to make sure that drivers can send and retrieve metadata to each other using the ddk::MetadataServer
class and ddk::GetMetadata()
function. The test will spawn a driver test realm and include the following drivers: metadata_sender
, metadata_forwarder
, and metadata_receiver
.
The metadata_sender
driver's purpose is to serve metadata to it child devices using ddk::MetadataServer
. It can create child devices named metadata_{num}
(with {num}
being a number) that the metadata_forwarder
or metadata_retrievers
drivers may bind to.
The metadata_forwarder
driver's purpose is to retrieve metadata from its parent driver and forward the metadata to its child device using ddk::MetadataServer::ForwardAndServe()
. It will create a child device that the metadata_retriever
driver can bind to.
The metadata_retriever
driver's purpose is to retrieve metadata using ddk::GetMetadata()
.