IRC Reader Input Adapter

Introduction

Note

This adapter uses the WinPcap libraries for Windows to tap into the IP packet stream. Before using this adapter with real-time data, you must install and configure these libraries on the system that will host the adapter.

Download and install the latest WinPcap MSI from http://www.winpcap.org. Use all the default settings for the installation. This adapter is not supported on macOS or Linux.

The TIBCO StreamBase® Input Adapter for IP/IRC 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.

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 in a 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 lWinPcap-compatible filter string that can be used to limit the IP traffic being read.
Log Level Controls the level of verbosity the adapter uses to send notifications to the console. This setting can be higher than the containing application's log level. If set lower, the system log level is used. Available values, in increasing order of verbosity, are: OFF, ERROR, WARN, INFO, DEBUG, TRACE, and ALL.
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 WinPcap libraries to discard IP packets, resulting in lost tuples when the adapter is eventually resumed.

Related Topics