89 |
my $msg=$::CONF{'PingMessage'}; |
my $msg=$::CONF{'PingMessage'}; |
90 |
my @cons=values %PersistentConnections; |
my @cons=values %PersistentConnections; |
91 |
|
|
92 |
map { $_->write($msg) } @cons; |
map { $_->write($msg.chr(0)) } @cons; |
93 |
} |
} |
94 |
|
|
95 |
sub checkPersistentConnectionsForMaxTime { |
sub checkPersistentConnectionsForMaxTime { |
152 |
my $channels={}; |
my $channels={}; |
153 |
my $channelName; |
my $channelName; |
154 |
my $offset; |
my $offset; |
155 |
foreach my $chandef (@channelData) |
foreach my $chandef (@channelData) { |
156 |
{ |
if($chandef=~/^([a-z0-9]+)(.(r|b|h)([0-9]*))?$/i) { |
|
if($chandef=~/^([a-z0-9]+)(.(r|b|h)([0-9]*))?$/) |
|
|
{ |
|
157 |
$channelName = $1; |
$channelName = $1; |
158 |
$channels->{$channelName}->{'startIndex'} = undef; |
$channels->{$channelName}->{'startIndex'} = undef; |
159 |
for ($3) { |
if ($3) { |
160 |
$offset = $4; |
$offset = $4; |
161 |
/r/ && do { $channels->{$channelName}->{'startIndex'} = $offset; last; }; |
if ($3 eq 'r') { $channels->{$channelName}->{'startIndex'} = $offset; } |
162 |
/b/ && do { $channels->{$channelName}->{'startIndex'} = -$offset; last; }; |
if ($3 eq 'b') { $channels->{$channelName}->{'startIndex'} = -$offset; } |
163 |
/h/ && do { $channels->{$channelName}->{'startIndex'} = 0; last; }; |
if ($3 eq 'h') { $channels->{$channelName}->{'startIndex'} = 0; } |
164 |
} |
} |
165 |
} |
} |
166 |
} |
} |
272 |
} |
} |
273 |
/gex; |
/gex; |
274 |
|
|
275 |
$self->write($header); |
$self->write($header.chr(0)); |
276 |
} |
} |
277 |
|
|
278 |
sub sendMessage { |
sub sendMessage { |
282 |
|
|
283 |
$numMsgInThisBatch=1 unless(defined($numMsgInThisBatch)); |
$numMsgInThisBatch=1 unless(defined($numMsgInThisBatch)); |
284 |
|
|
285 |
$self->write($msg); |
$self->write($msg.chr(0)); |
286 |
|
|
287 |
$::Statistics->{'messages_served'}+=$numMsgInThisBatch; |
$::Statistics->{'messages_served'}+=$numMsgInThisBatch; |
288 |
|
|