fix state machine transition bug, if recv 2/3 and in recv state, fire one send, and recv last 1, won't change to next full, so now use counter and Half Full 2 states