Changeset edb18ce for lib/format_erf.c


Ignore:
Timestamp:
04/21/06 00:42:17 (15 years ago)
Author:
Perry Lorier <perry@…>
Branches:
4.0.1-hotfixes, cachetimestamps, develop, dpdk-ndag, etsilive, getfragoff, help, libtrace4, master, ndag_format, pfring, rc-4.0.1, rc-4.0.2, rc-4.0.3, rc-4.0.4, ringdecrementfix, ringperformance, ringtimestampfixes
Children:
d0906e7
Parents:
671566a
Message:

Rewrote libtrace's IO handling to use shim functions when needing to do
zlib io

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lib/format_erf.c

    r9e830d4 redb18ce  
    8282        union {
    8383                int fd;
    84                 LIBTRACE_FILE file;
     84                libtrace_io_t *file;
    8585        } input;
    8686
    8787        struct {
    8888                enum { INDEX_UNKNOWN=0, INDEX_NONE, INDEX_EXISTS } exists;
    89                 LIBTRACE_FILE index;
     89                libtrace_io_t *index;
    9090                off_t index_len;
    9191        } seek;
     
    123123                int fd;
    124124                struct rtserver_t * rtserver;
    125 #if HAVE_ZLIB
    126                 gzFile *file;
    127 #else
    128                 int file;
    129 #endif
     125                libtrace_io_t *file;
    130126        } output;
    131127};
     
    227223                current=(max_off+min_off)>>2;
    228224
    229                 LIBTRACE_SEEK(DATA(libtrace)->seek.index,
     225                libtrace_io_seek(DATA(libtrace)->seek.index,
    230226                                current*sizeof(record),
    231227                                SEEK_SET);
    232                 LIBTRACE_READ(DATA(libtrace)->seek.index,
     228                libtrace_io_read(DATA(libtrace)->seek.index,
    233229                                &record,sizeof(record));
    234230                if (record.timestamp < erfts) {
     
    246242         */
    247243        do {
    248                 LIBTRACE_SEEK(DATA(libtrace)->seek.index,
     244                libtrace_io_seek(DATA(libtrace)->seek.index,
    249245                                current*sizeof(record),SEEK_SET);
    250                 LIBTRACE_READ(DATA(libtrace)->seek.index,
     246                libtrace_io_read(DATA(libtrace)->seek.index,
    251247                                &record,sizeof(record));
    252248                current--;
     
    254250
    255251        /* We've found our location in the trace, now use it. */
    256         LIBTRACE_SEEK(INPUT.file,record.offset,SEEK_SET);
     252        libtrace_io_seek(INPUT.file,record.offset,SEEK_SET);
    257253
    258254        return 0; /* success */
     
    265261{
    266262        if (INPUT.file) {
    267                 LIBTRACE_CLOSE(INPUT.file);
     263                libtrace_io_close(INPUT.file);
    268264        }
    269265        INPUT.file = trace_open_file(libtrace);
     
    281277                char buffer[PATH_MAX];
    282278                snprintf(buffer,sizeof(buffer),"%s.idx",libtrace->uridata);
    283                 DATA(libtrace)->seek.index=LIBTRACE_OPEN(buffer,"r");
     279                DATA(libtrace)->seek.index=libtrace_io_open(buffer,"r");
    284280                if (DATA(libtrace)->seek.index) {
    285281                        DATA(libtrace)->seek.exists=INDEX_EXISTS;
     
    312308                if (trace_get_erf_timestamp(packet)==erfts)
    313309                        break;
    314                 off=LIBTRACE_TELL(INPUT.file);
     310                off=libtrace_io_tell(INPUT.file);
    315311        } while(trace_get_erf_timestamp(packet)<erfts);
    316312
    317         LIBTRACE_SEEK(INPUT.file,off,SEEK_SET);
     313        libtrace_io_seek(INPUT.file,off,SEEK_SET);
    318314
    319315        return 0;
     
    432428
    433429static int erf_fin_input(libtrace_t *libtrace) {
    434         LIBTRACE_CLOSE(INPUT.file);
     430        libtrace_io_close(INPUT.file);
    435431        free(libtrace->format_data);
    436432        return 0;
     
    438434
    439435static int erf_fin_output(libtrace_out_t *libtrace) {
    440         LIBTRACE_CLOSE(OUTPUT.file);
     436        libtrace_io_close(OUTPUT.file);
    441437        free(libtrace->format_data);
    442438        return 0;
     
    535531        packet->type = RT_DATA_ERF;
    536532
    537         if ((numbytes=LIBTRACE_READ(INPUT.file,
     533        if ((numbytes=libtrace_io_read(INPUT.file,
    538534                                        packet->buffer,
    539535                                        dag_record_size)) == -1) {
     
    557553       
    558554        /* read in the rest of the packet */
    559         if ((numbytes=LIBTRACE_READ(INPUT.file,
     555        if ((numbytes=libtrace_io_read(INPUT.file,
    560556                                        buffer2,
    561557                                        size)) != size) {
     
    682678        assert(size<=65536);
    683679
    684         if ((numbytes = LIBTRACE_WRITE(OUTPUT.file, erfptr, dag_record_size + pad)) != dag_record_size+pad) {
     680        if ((numbytes = libtrace_io_write(OUTPUT.file, erfptr, dag_record_size + pad)) != dag_record_size+pad) {
    685681                trace_set_err_out(libtrace,errno,
    686682                                "write(%s)",libtrace->uridata);
     
    688684        }
    689685
    690         if ((numbytes=LIBTRACE_WRITE(OUTPUT.file, buffer, size)) != size) {
     686        if ((numbytes=libtrace_io_write(OUTPUT.file, buffer, size)) != size) {
    691687                trace_set_err_out(libtrace,errno,
    692688                                "write(%s)",libtrace->uridata);
Note: See TracChangeset for help on using the changeset viewer.