EndPoint.flush() returns false if it couldn't write the whole buffers. Thus the caller knows it has to call flush again until all data has been written to the EndPoint.
Have a look at WriteFlusher.write() and WriteFlusher.completeWrite() and read the javadocs there to get a feel of how it is used.
Regarding the line: flushed|=super.flush(b); // <<-- shouldn't it be &=
I guess you're right. flushed is initialized to true and therefore will always be true that way. I will doublecheck and possibly fix it.