code:     private SendfileState processSendfile(SocketWrapperBase<?> socketWrapper) {
          openSocket = keepAlive;
          // Done is equivalent to sendfile not being used
          SendfileState result = SendfileState.DONE;
          // Do sendfile as needed: add socket to sendfile and end
          if (sendfileData != null && !getErrorState().isError()) {
              sendfileData.keepAlive = keepAlive;
              result = socketWrapper.processSendfile(sendfileData);
              switch (result) {
              case ERROR:
                  // Write failed
                  if (log.isDebugEnabled()) {
                      log.debug(sm.getString("http11processor.sendfile.error"));
                  }
                  setErrorState(ErrorState.CLOSE_CONNECTION_NOW, null);
                  //$FALL-THROUGH$
              default:
                  sendfileData = null;
              }
          }
          return result;
      }
  
  
      @Override
  