36 #define DAS2_MAX_PROCESSORS 10
38 #define DASIO_NAME_SZ 128
48 typedef struct das_io_struct {
54 char sName[DASIO_NAME_SZ];
173 DasIO* new_DasIO_str(
const char* sProg,
char* sbuf,
size_t len,
const char* mode);
300 #define LOGLVL_FINEST 0
301 #define LOGLVL_FINER 300
302 #define LOGLVL_FINE 400
303 #define LOGLVL_CONFIG 500
304 #define LOGLVL_INFO 600
305 #define LOGLVL_WARNING 700
306 #define LOGLVL_ERROR 800
DasErrCode DasIO_writeStreamDesc(DasIO *pThis, StreamDesc *pSd)
Writes the data describing the stream to the output channel (e.g.
const char * LogLvl_string(int logLevel)
Returns a string identifying the log level.
DasIO * new_DasIO_socket(const char *sProg, int nSockFd, const char *mode)
Create a new DasIO object from a socket.
int DasErrCode
return code type 0 indicates success, negative integer indicates failure
Definition: util.h:117
void del_DasIO(DasIO *pThis)
Free resources associated with a DasIO structure Typically you don't need to do this as heap memory i...
Defines the "Out of Band" objects in a stream.
Holds information for a single packet type in a Das2 stream.
Definition: packet.h:138
size_t DasIO_write(DasIO *pThis, const char *data, int length)
Anolog of fwrite (Low-level API)
DasIO * new_DasIO_file(const char *sProg, const char *sFile, const char *mode)
Create a new DasIO object from a disk file.
int DasIO_getLogLvl(const DasIO *pThis)
Get logging verbosity level.
DasErrCode DasIO_writeException(DasIO *pThis, OobExcept *pSe)
Output an exception structure.
int DasIO_read(DasIO *pThis, DasBuf *pBuf, size_t nBytes)
Analog of fread (Low-level API)
Little buffer class to handle accumulating string data.
Definition: buffer.h:49
void DasIO_throwException(DasIO *pThis, StreamDesc *pSd, const char *type, char *msg)
Set the logging level.
DasIO * new_DasIO_cmd(const char *sProg, const char *sCmd)
Create a new DasIO object from a shell command.
Objects representing a Das2 Stream as a whole.
int DasIO_readAll(DasIO *pThis)
Starts the processing of the stream read from FILE* infile.
int DasIO_addProcessor(DasIO *pThis, StreamHandler *pProc)
Add a packet processor to be invoked during I/O operations.
void DasIO_setLogLvl(DasIO *pThis, int minLevel)
Set the minimum log level that will be transmitted on the stream.
DasErrCode DasIO_setTaskProgress(DasIO *pThis, int progress)
Place rate-limited progress comments on an output stream.
int DasIO_queryExcept(DasIO *pThis, const char *fmt,...)
Throw a bad query exception and close the stream.
Tracks input and output operations for das2 stream headers and data.
Definition: io.h:48
Describes the stream itself, in particular the compression used, current packetDescriptors, etc.
Definition: stream.h:46
DasIO * new_DasIO_ssl(const char *sProg, void *pSsl, const char *mode)
Create a new DasIO object using an encripted connection.
DasErrCode DasIO_writePktData(DasIO *pThis, PktDesc *pPd)
Sends the data packet on to the stream after checking validity.
DasIO * new_DasIO_cfile(const char *sProg, FILE *file, const char *mode)
Create a new DasIO object from a standard C FILE.
int DasIO_closeNoData(DasIO *pThis, const char *fmt,...)
Send a "no data in interval" message and close the stream.
DasErrCode DasIO_writePktDesc(DasIO *pThis, PktDesc *pd)
Writes the data describing a packet type to the output channel (e.g.
Callback processing for das2 stream reads and writes.
describes an exception that can live in a stream.
Definition: oob.h:80
int DasIO_printf(DasIO *pThis, const char *format,...)
Print a string with a format specifier (Low-level API) This works similar to the C printf function...
A set of callbacks used for input and output stream processing.
Definition: processor.h:96
int DasIO_serverExcept(DasIO *pThis, const char *fmt,...)
Throw a server exception and close the stream.
void DasIO_close(DasIO *pThis)
Normal stream close with no unusual condiditons Closes the output file descriptor, flushes a gzip buffer, etc.
int DasIO_getc(DasIO *pThis)
Analog of getc (Low-level API)
DasErrCode DasIO_writeComment(DasIO *pThis, OobComment *pSc)
Output a StreamComment Stream comments are generally messages interpreted only by humans and may chan...
DasErrCode DasIO_sendLog(DasIO *pThis, int level, char *msg,...)
Send a log message onto the stream at the given log level.