Changeset b69afb1


Ignore:
Timestamp:
09/15/05 16:13:06 (15 years ago)
Author:
Shane Alcock <salcock@…>
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:
8283f05
Parents:
707afa5
Message:

Removed all rtclient_output stuff, as it will now be left up to the user to write their own rtservers.
As a result, had to include stdio.h in a couple of other files that were previously getting it from rtserver.h.

Location:
lib
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • lib/Makefile.am

    r1e66c64 rb69afb1  
    11lib_LTLIBRARIES = libtrace.la
    22include_HEADERS = libtrace.h dagformat.h wag.h
    3 libtrace_la_SOURCES = trace.c fifo.c fifo.h common.h format_template.c format_erf.c format_pcap.c format_wag.c format_helper.c format_helper.h rtserver.c rtserver.h parse_cmd.c parse_cmd.h libtrace_int.h
     3libtrace_la_SOURCES = trace.c fifo.c fifo.h common.h format_template.c format_erf.c format_pcap.c format_wag.c format_helper.c format_helper.h parse_cmd.c parse_cmd.h libtrace_int.h
    44libtrace_la_CFLAGS = @ADD_INCLS@
    55libtrace_la_LIBADD = @ADD_LIBS@ @LTLIBOBJS@
  • lib/format_erf.c

    rd3e4697 rb69afb1  
    3333#include "libtrace_int.h"
    3434#include "format_helper.h"
    35 #include "rtserver.h"
    3635#include "parse_cmd.h"
    3736
     
    5857#include <fcntl.h>
    5958#include <getopt.h>
     59#include <stdio.h>
    6060
    6161/* Catch undefined O_LARGEFILE on *BSD etc */
     
    325325}
    326326
    327 static int rtclient_init_output(struct libtrace_out_t *libtrace) {
    328         char * uridata = libtrace->uridata;
    329         char * scan;
    330         libtrace->format_data = (struct libtrace_format_data_out_t *)
    331                 calloc(1,sizeof(struct libtrace_format_data_out_t));
    332         // extract conn_info from uridata
    333         if (strlen(uridata) == 0) {
    334                 CONNINFO.rt.hostname = NULL;
    335                 CONNINFO.rt.port = COLLECTOR_PORT;
    336         }
    337         else {
    338                 if ((scan = strchr(uridata,':')) == NULL) {
    339                         CONNINFO.rt.hostname =
    340                                 NULL;
    341                         CONNINFO.rt.port =
    342                                 atoi(uridata);
    343                 } else {
    344                         CONNINFO.rt.hostname =
    345                                 (char *)strndup(uridata,
    346                                                 (scan - uridata));
    347                         CONNINFO.rt.port =
    348                                 atoi(++scan);
    349                 }
    350         }
    351        
    352        
    353         OUTPUT.rtserver =
    354                 rtserver_create(CONNINFO.rt.hostname,
    355                                 CONNINFO.rt.port);
    356         if (!OUTPUT.rtserver)
    357                 return 0;
    358 
    359         return 1;
    360 }
    361 
    362327static int erf_config_output(struct libtrace_out_t *libtrace, int argc, char *argv[]) {
    363328#if HAVE_ZLIB
     
    392357}
    393358
    394 static int rtclient_config_output(struct libtrace_out_t *libtrace, int argc, char *argv[]) {
    395         return 0;
    396 }
    397359
    398360#ifdef HAVE_DAG
     
    423385 
    424386
    425 static int rtclient_fin_output(struct libtrace_out_t *libtrace) {
    426         rtserver_destroy(OUTPUT.rtserver);
    427 }
    428387
    429388#if HAVE_DAG
     
    688647}
    689648
    690 static int rtclient_write_packet(struct libtrace_out_t *libtrace, struct libtrace_packet_t *packet) {
    691         int numbytes = 0;
    692         int size;
    693         int intsize = sizeof(int);
    694         char buf[RP_BUFSIZE];
    695         void *buffer = &buf[intsize];
    696         int write_required = 0;
    697        
    698         do {
    699                 if (rtserver_checklisten(libtrace->format_data->output.rtserver) < 0)
    700                         return -1;
    701 
    702                 assert(libtrace->fifo);
    703                 if (tracefifo_out_available(libtrace->fifo) == 0 || write_required) {
    704                         // Packet added to fifo
    705                         if ((numbytes = tracefifo_write(libtrace->fifo, packet->buffer, packet->size)) == 0) {
    706                                 // some error with the fifo
    707                                 perror("tracefifo_write");
    708                                 return -1;
    709                         }
    710                         write_required = 0;
    711                 }
    712 
    713                 // Read from fifo and add protocol header
    714                 if ((numbytes = tracefifo_out_read(libtrace->fifo, buffer, sizeof(dag_record_t))) == 0) {
    715                         // failure reading in from fifo
    716                         tracefifo_out_reset(libtrace->fifo);
    717                         write_required = 1;
    718                         continue;
    719                 }
    720                 size = ntohs(((dag_record_t *)buffer)->rlen);
    721                 assert(size < LIBTRACE_PACKET_BUFSIZE);
    722                 if ((numbytes = tracefifo_out_read(libtrace->fifo, buffer, size)) == 0) {
    723                        // failure reading in from fifo
    724                        tracefifo_out_reset(libtrace->fifo);
    725                        write_required = 1;
    726                        continue;
    727                 }
    728                 // Sort out the protocol header
    729                 memcpy(buf, &packet->status, intsize);
    730 
    731                 if ((numbytes = rtserver_sendclients(libtrace->format_data->output.rtserver, buf, size + sizeof(int))) < 0) {
    732                         write_required = 0;
    733                         continue;
    734                 }
    735 
    736 
    737                 tracefifo_out_update(libtrace->fifo, size);
    738                 tracefifo_ack_update(libtrace->fifo, size);
    739                 return numbytes;
    740         } while(1);
    741 }
    742649
    743650static void *erf_get_link(const struct libtrace_packet_t *packet) {
     
    936843        "erf",
    937844        rtclient_init_input,            /* init_input */       
    938         rtclient_init_output,           /* init_output */
    939         rtclient_config_output,         /* config_output */
     845        NULL,                           /* init_output */
     846        NULL,                           /* config_output */
    940847        rtclient_fin_input,             /* fin_input */
    941         rtclient_fin_output,            /* fin_output */
     848        NULL,                           /* fin_output */
    942849        rtclient_read_packet,           /* read_packet */
    943         rtclient_write_packet,          /* write_packet */
     850        NULL,                           /* write_packet */
    944851        erf_get_link,                   /* get_link */
    945852        erf_get_link_type,              /* get_link_type */
  • lib/format_pcap.c

    rd3e4697 rb69afb1  
    4545#include <unistd.h>
    4646#include <assert.h>
    47 
     47#include <stdio.h>
    4848
    4949#if HAVE_PCAP_BPF_H
  • lib/format_wag.c

    rd3e4697 rb69afb1  
    5858#include <errno.h>
    5959#include <netdb.h>
     60#include <stdio.h>
    6061
    6162#ifdef HAVE_LIMITS_H
  • lib/libtrace_int.h

    rfba4ca0 rb69afb1  
    4040#include "libtrace.h"
    4141#include "fifo.h"
    42 #include "rtserver.h"
    4342
    4443#if HAVE_PCAP_BPF_H
  • lib/trace.c

    rfba4ca0 rb69afb1  
    337337}
    338338
    339 /** Creates a trace output file from a URI.
     339/* Creates a trace output file from a URI.
    340340 *
    341341 * @param uri   the uri string describing the output format and destination
Note: See TracChangeset for help on using the changeset viewer.