IRC Reader Input Adapter

Introduction

Note

The adapter uses the libpcap (Linux) and WinPcap (Windows) libraries to tap into the IP packet stream. Before using this adapter with realtime data, you must install and configure these libraries on the system that will host the IRC Reader adapter. Locate libpcap at http://www.tcpdump.org/ and WinPcap at http://www.winpcap.org.

The IRC reader input adapter reads Internet Protocol packets, either from the IP stack of a running system or from an archived capture file, and emits a tuple for each IRC chat message found in the TCP data stream. Dedicated tuple fields hold the source and destination addresses and ports, the IRC message type (NICK, USER, MODE, JOIN, PRIVMSG, QUIT and LIST), and the body of the message. When reading IP traffic on a running system, a filter string can be configured to limit the IP traffic being read.

Note

This adapter is not provided in the StreamBase kit, but is made available in a separate installation kit. Please contact StreamBase Systems if you are interested in the kit.

Properties

Property Description
Data Source Select Realtime Data or Capture File to read IRC traffic from the IP stack of a running system or from an archived capture file, respectively.
Capture File Name The fully-qualified name of the capture file holding the IP packets to process. The capture file must be on a libpcap- or WinPcap-compatibile format. The property is ignored when Data Source is set to Realtime Data.
TCP Port Number The well-known TCP port number of the IRC server, which defaults to 194.
Capture Filter String A libpcap- or WinPcap-compatible filter string that can be used to limit the IP traffic being read.
Schema (schema) The schema to output, including the following fields, which the adapter automatically creates. The user can override the length of any string field by adding that field in Studio's Edit Schema tab:
  • ClientAddr (string): IP address of the Client application

  • ClientPort (string): IP port of the Client application

  • ServerAddr (string): IP address of the Server application

  • ServerPort (string): IP port of the Server application

  • Prefix (string): Message's originating server name

  • Message (string): IRC message name (NICK, USER, MODE, JOIN, PRIVMSG, QUIT or LIST)

  • Param1 (string): Contents of the Param1

  • Param2 (string): Contents of the Param2

  • Param3 (string): Contents of the Param3

  • Param4 (string): Contents of the Param4

  • Response (string): Response message from the server

  • TruncatedFields (string): Comma-separated list of field names above that were truncated. For example, if the Param1 field is set to 128, and a chat message with a longer Param1 is processed, the Param1 is truncated and this field includes the string Param1. Note that this field itself is truncated if it is not large enough to hold all the field names that were truncated for a specific message.

Typechecking and Error Handling

Schema fields entered in Studio's Edit Schema tab not listed above, or of type other than string and blob, cause a typecheck error to be thrown.

A tuple is emitted only when a complete chat message is detected in the TCP stream. If one or more IP packets are missing such that the TCP stream cannot be reconstructed, no tuple will be emitted for the corresponding chat message.

Suspend/Resume Behavior

When suspended, the adapter stops processing IP packets. Note that doing so may cause the libpcap or WinPcap libraries to discard IP packets, resulting in lost tuples when the adapter is eventually resumed.

Related Topics