The Network Swiftlet is the interface for SwiftMQ Swiftlets to the network. It uses non-blocking I/O and is based on Netty.

Zombi Connection Detection

Zombi connections are those connections that are created but where no data is sent. Since the keepalive has not been started yet, these connections remain open.

Zombi connections can occur if, for example, SwiftMQ is monitored by opening telnet connections on a JMS listener port and also by DoS attacks.

To prevent those zombi connections brings the router down, attribute zombi-connection-timeout can be set to a millisecond value, e.g. 10000 (10 secs). The Network Swiftlet then starts a timer on each connection and disconnects the connection if the protocol has not been initiated when the timer fires.

Configuration

The configuration of the Network Swiftlet is defined within the element

      <swiftlet name="sys$net" .../>
XML

of the router's configuration file.

Attributes of Element "swiftlet"

Definition

Attribute

Type

Mandatory

Description

collect-interval

java.lang.Long

No

Throughput Collect Interval

zombi-connection-timeout

java.lang.Long

No

Zombi-Connection Timeout

dns-resolve-enabled

java.lang.Boolean

No

Resolve DNS Names during Connect

reuse-serversockets

java.lang.Boolean

No

Re-Use Server Sockets

set-socket-options

java.lang.Boolean

No

Sets TCP send/receive buffer zu router in/output buffer size

Values

Attribute

Values

collect-interval

Default: 1000

zombi-connection-timeout

Default: 0

dns-resolve-enabled

Default: false

reuse-serversockets

Default: false

set-socket-options

Default: true

Element "multicast", Parent Element: "swiftlet"

Multicast Settings.

Definition

Attribute

Type

Mandatory

Description

qos-flowcontrol

java.lang.String

No

QoS Flow Control

qos-feedback

java.lang.String

No

QoS Feedback

qos-min-datarate

java.lang.Integer

No

QoS Minimum Data Rate (kbit/s)

qos-max-datarate

java.lang.Integer

No

QoS Maximum Data Rate (kbit/s)

qos-send-window-size

java.lang.Integer

No

QoS Send Window Size

qos-receive-window-size

java.lang.Integer

No

QoS Receive Window Size

time-to-live

java.lang.Integer

No

Packet Time-To-Live

Values

Attribute

Values

qos-flowcontrol

Choice: best_effort constant_throughput adapted_throughput
Default: adapted_throughput

qos-feedback

Choice: no_receiver_report random_receiver_report periodic_receiver_report
Default: no_receiver_report

qos-min-datarate

Default: 64

qos-max-datarate

Default: 1024

qos-send-window-size

Default: 1024

qos-receive-window-size

Default: 1024

time-to-live

Min: 0
Max: 255
Default: 1

Element List "usage", Parent Element: "swiftlet"

Active Connections. This element list contains zero or more "usage" elements with this template definition:

Definition

Attribute

Type

Mandatory

Description

name

java.lang.String

Yes

Name of this Connection

swiftlet

java.lang.String

No

Attached to Swiftlet

connect-time

java.lang.String

No

Connect Time

throughput-input

java.lang.String

No

Input KB/s

throughput-output

java.lang.String

No

Output KB/s

Values

Attribute

Values

swiftlet

connect-time

throughput-input

throughput-output