<?xml version="1.0"?>
<block>
  <name>ZMQ REQ Source</name>
  <key>zeromq_req_source</key>
  <category>[Core]/ZeroMQ Interfaces</category>
  <import>from gnuradio import zeromq</import>
  <make>zeromq.req_source($type.itemsize, $vlen, $address, $timeout, $pass_tags, $hwm)</make>

  <param>
    <name>IO Type</name>
    <key>type</key>
    <type>enum</type>
    <option>
      <name>Complex</name>
      <key>complex</key>
      <opt>itemsize:gr.sizeof_gr_complex</opt>
    </option>
    <option>
      <name>Float</name>
      <key>float</key>
      <opt>itemsize:gr.sizeof_float</opt>
    </option>
    <option>
      <name>Int</name>
      <key>int</key>
      <opt>itemsize:gr.sizeof_int</opt>
    </option>
    <option>
      <name>Short</name>
      <key>short</key>
      <opt>itemsize:gr.sizeof_short</opt>
    </option>
    <option>
      <name>Byte</name>
      <key>byte</key>
      <opt>itemsize:gr.sizeof_char</opt>
    </option>
  </param>

  <param>
    <name>Vec Length</name>
    <key>vlen</key>
    <value>1</value>
    <type>int</type>
  </param>

  <param>
    <name>Address</name>
    <key>address</key>
    <type>string</type>
  </param>

  <param>
    <name>Timeout (msec)</name>
    <key>timeout</key>
    <value>100</value>
    <type>float</type>
  </param>

  <param>
    <name>Pass Tags</name>
    <key>pass_tags</key>
    <value>False</value>
    <type>enum</type>
    <option>
      <name>Yes</name>
      <key>True</key>
    </option>
    <option>
      <name>No</name>
      <key>False</key>
    </option>
  </param>

  <param>
    <name>High Watermark</name>
    <key>hwm</key>
    <value>-1</value>
    <type>int</type>
    <hide>#if $hwm() == -1 then 'part' else 'none'#</hide>
  </param>

  <source>
    <name>out</name>
    <type>$type</type>
    <vlen>$vlen</vlen>
  </source>

</block>
