/[meteor]/googlecode.com/svn/trunk/Meteor/Connection.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /googlecode.com/svn/trunk/Meteor/Connection.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3 by andrew.betts, Mon Nov 20 17:59:30 2006 UTC revision 47 by knops.gerd, Mon Feb 4 21:06:42 2008 UTC
# Line 53  sub addAllHandleBits { Line 53  sub addAllHandleBits {
53          my $wVecRef=shift;          my $wVecRef=shift;
54          my $eVecRef=shift;          my $eVecRef=shift;
55                    
56          map {$_->addHandleBits($rVecRef,$wVecRef,$eVecRef)} @Connections;          my @cons=@Connections;
57            map {$_->addHandleBits($rVecRef,$wVecRef,$eVecRef) if(defined($_)) } @cons;
58  }  }
59    
60  sub checkAllHandleBits {  sub checkAllHandleBits {
# Line 63  sub checkAllHandleBits { Line 64  sub checkAllHandleBits {
64          my $wVec=shift;          my $wVec=shift;
65          my $eVec=shift;          my $eVec=shift;
66                    
67          map {$_->checkHandleBits($rVec,$wVec,$eVec)} @Connections;          my @cons=@Connections;
68            map {$_->checkHandleBits($rVec,$wVec,$eVec) if(defined($_)) } @cons;
69  }  }
70    
71  sub connectionCount {  sub connectionCount {
# Line 96  sub newFromServer { Line 98  sub newFromServer {
98          #          #
99          my $self=shift->new();          my $self=shift->new();
100                    
101            $::Statistics->{'total_requests'}++;
102            
103          my $server=shift;          my $server=shift;
104          my $socket=$server->conSocket();          my $socket=$server->conSocket();
105                    
# Line 107  sub newFromServer { Line 111  sub newFromServer {
111          $self->{'writeBuffer'}='';          $self->{'writeBuffer'}='';
112          $self->{'readBuffer'}='';          $self->{'readBuffer'}='';
113                    
114            $self->{'bytesWritten'}=0;
115            
116          push(@Connections,$self);          push(@Connections,$self);
117                    
118          &::syslog('debug',"New %s for %s",ref($self),$socket->{'connection'}->{'remoteIP'});          &::syslog('debug',"New %s for %s",ref($self),$socket->{'connection'}->{'remoteIP'});
# Line 180  sub checkHandleBits { Line 186  sub checkHandleBits {
186                  my $bytesRead=sysread($socket->{'handle'},$buffer,$MAX_READ_SIZE);                  my $bytesRead=sysread($socket->{'handle'},$buffer,$MAX_READ_SIZE);
187                  if(defined($bytesRead) && $bytesRead>0)                  if(defined($bytesRead) && $bytesRead>0)
188                  {                  {
189                            $::Statistics->{'total_inbound_bytes'}+=$bytesRead;
190                          $self->{'readBuffer'}.=$buffer;                          $self->{'readBuffer'}.=$buffer;
191                          while($self->{'readBuffer'}=~s/^([^\r\n]*)\r?\n//)                          while($self->{'readBuffer'}=~s/^([^\r\n]*)\r?\n//)
192                          {                          {
# Line 218  sub checkHandleBits { Line 225  sub checkHandleBits {
225                                    
226                  if(defined($bytesWritten) && $bytesWritten>0)                  if(defined($bytesWritten) && $bytesWritten>0)
227                  {                  {
228                            $::Statistics->{'total_outbound_bytes'}+=$bytesWritten;
229                            $self->{'bytesWritten'}+=$bytesWritten;
230                          $self->{'writeBuffer'}=substr($self->{'writeBuffer'},$bytesWritten);                          $self->{'writeBuffer'}=substr($self->{'writeBuffer'},$bytesWritten);
231                          if(length($self->{'writeBuffer'})==0)                          if(length($self->{'writeBuffer'})==0)
232                          {                          {
# Line 291  sub close { Line 300  sub close {
300          }          }
301                    
302          &::syslog('debug',"Closed %s for %s",ref($self),$self->{'socket'}->{'connection'}->{'remoteIP'});          &::syslog('debug',"Closed %s for %s",ref($self),$self->{'socket'}->{'connection'}->{'remoteIP'});
303            
304            $self->didClose();
305    }
306    
307    sub didClose {
308  }  }
309    
310  1;  1;

Legend:
Removed from v.3  
changed lines
  Added in v.47

  ViewVC Help
Powered by ViewVC 1.1.26