'''[wiki:GEC16Agenda/WiMAX-Tutorial/Streamload/02 Previous]''' == Writing an OMF Application Wrapper == To run the streamload client as a full OMF application (which allows him to more easily change settings, etc. at experiment runtime), he also wrote a simple OMF application wrapper in Ruby. This wrapper just gives some basic information about the application, the parameters that can be passed at the command line, and the OML measurement points that have been defined in the application: {{{ #!ruby defApplication('streamload', 'streamload') do |app| app.path = "/root/streamload" app.version(1, 0, 0) app.shortDescription = "streamload" app.description = "streamload scalable video downloader" app.defProperty("url", "URL of video source", "-u", {:type => :string, :dynamic => false}) app.defProperty("video", "Name of video", "-v", {:type => :string, :dynamic => false}) app.defProperty("window", "Download window for enhancement layers", "-w", {:type => :integer, :dynamic => false}) app.defProperty("streamload", "Use streamload to enhance video quality?", "-s", {:type => :string, :dynamic => false}) app.defMeasurement('dl') do |mp| mp.defMetric('chunk',:long) mp.defMetric('layer',:long) mp.defMetric('rate',:long) end app.defMeasurement('conf') do |mp| mp.defMetric('key',:string) mp.defMetric('value',:string) end app.defMeasurement('play') do |mp| mp.defMetric('chunk',:long) mp.defMetric('layers',:long) end end }}} '''[wiki:GEC16Agenda/WiMAX-Tutorial/Streamload/04 Next]'''