Changeset 434 for experiments

Show
Ignore:
Timestamp:
07/17/07 12:54:36 (2 years ago)
Author:
blackhedd
Message:

comments and cleanup

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • experiments/jruby-1/src/com/rubyeventmachine/EM.java

    r432 r434  
    6464                loopBreaker = new AtomicBoolean(); 
    6565                loopBreaker.set(false); 
    66                 myReadBuffer = ByteBuffer.allocateDirect(32*1024); 
     66                myReadBuffer = ByteBuffer.allocate(32*1024); // don't use a direct buffer. Ruby doesn't seem to like them. 
    6767                timerQuantum = 98; 
    6868        } 
     
    127127                                        if (k.isReadable()) { 
    128128                                                SocketChannel sn = (SocketChannel) k.channel(); 
    129                                                 ByteBuffer bb = ByteBuffer.allocate(16 * 1024); 
     129                                                //ByteBuffer bb = ByteBuffer.allocate(16 * 1024); 
    130130                                                // Obviously not thread-safe, since we're using the same buffer for every connection. 
    131131                                                // This should minimize the production of garbage, though. 
     
    133133                                                // inbound data through an SSLEngine. Hope that won't break the strategy of using one 
    134134                                                // global read-buffer. 
    135                                                 // TODO, well, no. Using a global buffer produces Java null-pointer exceptions. Is the 
    136                                                 // read handler being re-entered somehow? We're missing a big performance increment here, 
    137                                                 // so this has to get solved. 
    138                                                 //myReadBuffer.clear(); 
    139                                                 int r = sn.read(bb); 
     135                                                myReadBuffer.clear(); 
     136                                                int r = sn.read(myReadBuffer); 
    140137                                                if (r > 0) { 
    141                                                         bb.flip(); 
     138                                                        myReadBuffer.flip(); 
    142139                                                        //bb = ((EventableChannel)k.attachment()).dispatchInboundData (bb); 
    143                                                         eventCallback (((EventableChannel)k.attachment()).getBinding(), EM_CONNECTION_READ, bb); 
     140                                                        eventCallback (((EventableChannel)k.attachment()).getBinding(), EM_CONNECTION_READ, myReadBuffer); 
    144141                                                } 
    145142                                                else {