Not sure that the logic here is correct. This statement can only be true if _total is 1 and _offset is greater than 0.
If the intent is for when TCPClient's _buffer is full to clear all of the data in the buffer so we can continue reading from the socket, is this really the right thing to do? If the buffer is full don't continue to recv() on the socket and allow the CC3000 & TCP to handle the buffering and re-transmission (if required). This way no user data is lost if the user isn't reading it from the buffer fast enough.