Ignore:
Timestamp:
01/02/13 06:43:16 (11 years ago)
Author:
István Váradi <ivaradi@…>
Branch:
default
Phase:
public
Message:

Cleaned up and simplified the code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/xplcommon/win32/ReadingBuffer.cc

    r21 r22  
    4848    }
    4949
    50     if (isWaited()) {
    51         DWORD size = 0;
    52         if (getResult(size, stream.handle)) {
    53             removeFromWaiter();
    54             overlapped->clear();
    55             addLength(size);
    56             return true;
    57         } else {
    58             if (stream.failed()) {
    59                 overlapped->clear();
    60                 removeFromWaiter();
    61             }
    62             return false;
    63         }
     50    bool result = false;
     51    if (checkWaitedResult(result)) {
     52        return result;
    6453    }
    6554
    66     ssize_t result = stream.read(getData(), getCapacity(), overlapped);
    67     if (result<0) {
     55    ssize_t numRead = stream.read(getData(), getCapacity(), overlapped);
     56    if (numRead<0) {
    6857        if (!stream.failed()) {
    6958            addTo(stream.getWaiter());
    70         } else {
    71             overlapped->reset();
    7259        }
    7360    } else {
    74         overlapped->reset();
    75         addLength(result);
     61        addLength(numRead);
    7662    }
    77     return result>=0;
     63    return numRead>=0;
     64}
     65
     66//------------------------------------------------------------------------------
     67
     68void ReadingBuffer::handleWaitedResult(DWORD size)
     69{
     70    addLength(size);
    7871}
    7972
Note: See TracChangeset for help on using the changeset viewer.