99 |
map { $_->clearBuffer() } (values %Channels); |
map { $_->clearBuffer() } (values %Channels); |
100 |
} |
} |
101 |
|
|
102 |
|
sub numChannels { |
103 |
|
|
104 |
|
return scalar(keys %Channels); |
105 |
|
} |
106 |
|
|
107 |
############################################################################### |
############################################################################### |
108 |
# Factory methods |
# Factory methods |
109 |
############################################################################### |
############################################################################### |
137 |
my $self=shift; |
my $self=shift; |
138 |
|
|
139 |
my @subscribers=@{$self->{'subscribers'}}; |
my @subscribers=@{$self->{'subscribers'}}; |
140 |
map { $_->close() } @subscribers; |
map { $_->closeChannel($self->{'name'}) } @subscribers; |
141 |
} |
} |
142 |
|
|
143 |
############################################################################### |
############################################################################### |
165 |
|
|
166 |
$startIndex=0 if($startIndex<0); |
$startIndex=0 if($startIndex<0); |
167 |
|
|
168 |
|
my $numMsgToSend=0; |
169 |
while($startIndex<$msgCount) |
while($startIndex<$msgCount) |
170 |
{ |
{ |
171 |
my $message=$self->{'messages'}->[$startIndex++]; |
my $message=$self->{'messages'}->[$startIndex++]; |
172 |
|
|
173 |
$txt.=$message->message(); |
$txt.=$message->message(); |
174 |
|
$numMsgToSend++; |
175 |
} |
} |
176 |
|
|
177 |
$subscriber->sendMessage($txt); |
$subscriber->sendMessage($txt,$numMsgToSend); |
178 |
} |
} |
179 |
|
|
180 |
sub removeSubscriber { |
sub removeSubscriber { |
210 |
my $messageText=shift; |
my $messageText=shift; |
211 |
|
|
212 |
my $message=Meteor::Message->newWithID($MessageID++); |
my $message=Meteor::Message->newWithID($MessageID++); |
213 |
$message->setText($messageText); |
$message->setText($messageText); |
214 |
|
$message->setChannelName($self->{'name'}); |
215 |
push(@{$self->{'messages'}},$message); |
push(@{$self->{'messages'}},$message); |
216 |
|
|
217 |
$self->trimMessageStoreBySize(); |
$self->trimMessageStoreBySize(); |