Skip to content
Snippets Groups Projects
Commit a72feee2 authored by Jonathan Hanks's avatar Jonathan Hanks
Browse files

Daqd, when servicing get_data requests attempt to read from the circular buffer first.

Previously requests that did not have a start/delta time could go from the buffer by default, and a start/delta would read from frame first and then finish up in reading from ram.
The implications are that short reads that use absolute gps times that fall in the time span the data is available but where a frame has not been written yet will fail as it will attempt
to read a frame, fail, then return.  This pushes a check up front to see if the start/delta is caught completely in the in memory buffer and then attempts to read that before falling back to reading from frames.
parent 7083f568
No related branches found
No related tags found
1 merge request!212Daqd update, serve data from circular buffers before going to disk if possible.
......@@ -1094,6 +1094,15 @@ net_writer_c::transient_consumer( )
source_buffptr->block_period( ) );
gps_time = offline.bstart - delta_time;
}
else if ( offline.delta && offline.gps && offline.gps == offline.bstart && offline.blast == (offline.gps + offline.delta - 1))
{
assert( buffptr );
if ( !( send_client_header( 1 ) ) )
{
(void)consumer( ); // Send the blocks
}
}
else // Specified time period in the request
{
if ( offline.bstart )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment