process the next protocol frame . if it is a control frame this will result in a single call to framecallback . if it is a message frame this will result in a single call to framecallback #onmessage . if the message spans multiple frames , each interleaved control frame will result in a corresponding call to framecallback . concode_field_sep Source framedMessageSource concode_elem_sep FrameCallback frameCallback concode_elem_sep boolean messageClosed concode_elem_sep boolean isClient concode_elem_sep BufferedSource source concode_elem_sep int opcode concode_elem_sep boolean isMasked concode_elem_sep long frameBytesRead concode_elem_sep byte[] maskKey concode_elem_sep boolean closed concode_elem_sep long frameLength concode_elem_sep boolean isFinalFrame concode_elem_sep byte[] maskBuffer concode_elem_sep boolean isControlFrame concode_field_sep void onClose concode_elem_sep void readMessageFrame concode_elem_sep long read concode_elem_sep void readUntilNonControlFrame concode_elem_sep void onMessage concode_elem_sep void onPong concode_elem_sep void onPing concode_elem_sep void readHeader concode_elem_sep void readControlFrame concode_elem_sep void close concode_elem_sep Timeout timeout
void function ( ) { readHeader ( ) ; if ( isControlFrame ) { readControlFrame ( ) ; } else { readMessageFrame ( ) ; } }