Hi guys,<br>I have converted the bos2evio program to a CLARA service. It currently uses a mixture of the old and new CLARA libraries. I tagged it as version 1.1 of the bos2evio project on the repository. It ships with all dependencies except SCons and gcc. It compiles fine but may not work too well (read: proven correct, but untested).<br>
<br>After some discussion with myself, Gagik and Vardan, the future plans for this program/service are:<br> 1) ship bank definitions in XML with EVIO buffer<br>
a) requester can ask not to receive bank definitions<br> b) requester should be able to compare bank definitions XML string with md5sum or similar to see if he needs to re-parse the XML<br> 2) ship more than one event<br>
a) requester should be able to specify number of events or maximum size for buffer<br> 3) configuration to tell it which bos files to read<br><br>This program is very much NOT thread-safe because of the bosio library underneath. I am not sure what to do about that.<br>
<br>checkout and compiling should be straightforward. The last command uses the newer SCons in the CUE in /apps and "-j16" tells scons to parallelize the build to 16 threads:<br><br>svn co <a href="https://clas12svn.jlab.org/repos/clas12/bos2evio/tags/bos2evio_1.1">https://clas12svn.jlab.org/repos/clas12/bos2evio/tags/bos2evio_1.1</a> bos2evio<br>
cd bos2evio<br>/apps/scons/bin/scons -j16<br>build/bin/bos2evio-service -h<br><br>Generic options:<br> -h [ --help ] produce help message.<br> -q [ --quiet ] quiet mode.<br>
-v [ --verbose ] verbose mode.<br> -b [ --bankdefs ] arg (=/u/home/clasg12/test/bos2evio/external/bankdefs)<br> directory containing bank definition <br> XML files.<br>
<br>CLARA Options:<br> --clara-host arg (=localhost) The name of the CLARA host.<br> --clara-name arg (=ClaraPlatform) The name of the CLARA platform.<br><br>CLARA service name: BOS to EVIO Service<br>author: Johann Goetz<br>
version: 0.1<br><br>This service reads in BOS files and waits for input of type<br>string with value of "next" and returns a single event<br>converted into the EVIO format. The EVIO buffer is prepended<br>with a 32bit unsigned int of value 0x12345678 which can be<br>
used to determine if swapping is neccessary.<br><br>-- <br><a href="http://sites.google.com/site/theodoregoetz/">Johann T. Goetz, PhD.</a><br><a href="mailto:jgoetz@ucla.edu">jgoetz@ucla.edu</a><br>
Nefkens Group, UCLA Dept. of Physics & Astronomy<br>Hall-B, Jefferson Lab, Newport News, VA<br>
Office: <a href="tel:757-269-5465">757-269-5465</a> (CEBAF Center F-335)<br>Mobile: <a href="tel:757-768-9999">757-768-9999</a><br><br>