protected VirtualConnection processWork ( TCPBaseRequestContext req , int options ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) { Tr . entry ( tc , "processWork" ) ; } TCPConnLink conn = req . getTCPConnLink ( ) ; VirtualConnection vc = null ; if ( options != 1 ) { // initialize the action to false, set to true if we do the allocate if ( req . isRequestTypeRead ( ) ) { ( ( TCPReadRequestContextImpl ) req ) . setJITAllocateAction ( false ) ; } } if ( attemptIO ( req , false ) ) { vc = conn . getVirtualConnection ( ) ; } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) { Tr . exit ( tc , "processWork" ) ; } return vc ; }
Processes the request . If the request is already associated with a work queue - send it there . Otherwise round robin requests amongst our set of queues .