Changeset 606

Show
Ignore:
Timestamp:
12/05/07 09:24:11 (1 year ago)
Author:
blackhedd
Message:

supported get_outbound_data_size in pure Ruby for stream and datagram objects

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • version_0/lib/em/streamer.rb

    r483 r606  
    5050                def stream_without_mapping filename 
    5151                        if @http_chunks 
    52                                 #@connection.send_data "#{format("%x",@size)}\r\n" 
    5352                                @connection.send_data "#{@size.to_s(16)}\r\n" 
    5453                                @connection.send_file_data filename 
     
    8079                                                len = ChunkSize if (len > ChunkSize) 
    8180 
    82                                                 #@connection.send_data( "#{format("%x",len)}\r\n" ) if @http_chunks 
    8381                                                @connection.send_data( "#{len.to_s(16)}\r\n" ) if @http_chunks 
    8482                                                @connection.send_data( @mapping.get_chunk( @position, len )) 
  • version_0/lib/pr_eventmachine.rb

    r605 r606  
    176176      send_data sig, data, data.length 
    177177    end 
     178 
     179    # #get_outbound_data_size 
     180    def get_outbound_data_size sig 
     181      r = Reactor.instance.get_selectable( sig ) or raise "unknown get_outbound_data_size target" 
     182      r.get_outbound_data_size 
     183    end 
     184 
    178185  end 
    179186 
     
    187194  class Error < Exception; end 
    188195 
     196end 
     197 
     198#----------------------------------------------------------------- 
     199 
     200module EventMachine 
     201  class Connection 
     202    def get_outbound_data_size 
     203      EventMachine::get_outbound_data_size @signature 
     204    end 
     205  end 
    189206end 
    190207 
     
    366383  def_delegator :@my_selectable, :get_peername 
    367384  def_delegator :@my_selectable, :send_datagram 
     385  def_delegator :@my_selectable, :get_outbound_data_size 
    368386end 
    369387 
     
    529547    end 
    530548 
     549    # #get_outbound_data_size 
     550    def get_outbound_data_size 
     551      @outbound_q.inject(0) {|memo,obj| memo += (obj || "").length} 
     552    end 
     553 
    531554  end 
    532555 
     
    793816    def select_for_reading? 
    794817      true 
     818    end 
     819 
     820    # #get_outbound_data_size 
     821    def get_outbound_data_size 
     822      @outbound_q.inject(0) {|memo,obj| memo += (obj || "").length} 
    795823    end 
    796824 
  • version_0/tests/test_epoll.rb

    r605 r606  
    8686                EM.epoll 
    8787                s = EM.set_descriptor_table_size 60000 
    88                 raise "test_descriptors unsupported on this platform" unless s == 60000 
    8988                EM.run { 
    9089                        EM.start_server "127.0.0.1", 9800, TestEchoServer