[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 19990114: Feed type for Nexrad level 2 data COMINGSOON/BLKDATA
- Subject: Re: 19990114: Feed type for Nexrad level 2 data COMINGSOON/BLKDATA
- Date: Tue, 19 Jan 1999 16:19:06 -0700
Harry:
The COMINGSOON/BLKDATA protocol is automatically used in ldmsend.c
when the product is bigger than DBUFMAX. See send_fd_info().
Another example is in server/ldmclnt.c. The top level entry point is
's_csbd()'.
The issue is what one is calling a product.
Are the individual "products within a volume" useful independently.
(The individual GRIB files within a model run are.) If so, then what you
are doing make sense. Otherwise, I would wonder.
Another option besides using ldmsend is
to assemble the whole product in a local queue, and
let the ldm worry about shipping it using COMINGSOON/BLKDATA
as appropriate.
Call pqe_new() to allocate space in the queue.
As each piece is available, add it to the product in progress by
'memcpy()'ing it into the storage returned by pqe_new(). If there is
a problem along the way, call pqe_discard(). Otherwise, call pqe_insert()
to commit.
The examples of use of the pqe_xxx functions are in
server/svc.c:{comingsoon_5_svc(), blkdata_5_svc()}
Since there is so much ldm protocol stuff going on there, it is probably
clearer to use the paragraph above and the pq.3 man pages.
Hope this helps.
-glenn