io.undertow.websockets.core.function

## Interface ChannelFunction

All Known Implementing Classes:
  Masker, UTF8Checker

    public interface ChannelFunction

Author:
  Norman Maurer

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `afterRead(ByteBuffer buf, int position, int length)` Is called on the `ByteBuffer` after a read operation completes
`void` `beforeWrite(ByteBuffer buf, int position, int length)` Is called on the `ByteBuffer` before a write operation completes
`void` `complete()` Is called to complete the `ChannelFunction`.
`void` `newFrame(FrameHeaderData headerData)`

### Method Detail

#### newFrame

    void newFrame(FrameHeaderData headerData)

#### afterRead

    void afterRead(ByteBuffer buf,
                   int position,
                   int length)
            throws IOException

Is called on the `ByteBuffer` after a read operation completes

Parameters:
  `buf` - the `ByteBuffer` to operate on
  `position` - the index in the `ByteBuffer` to start from
  `length` - the number of bytes to operate on
Throws:
  `IOException` - thrown if an error occurs

#### beforeWrite

    void beforeWrite(ByteBuffer buf,
                     int position,
                     int length)
              throws IOException

Is called on the `ByteBuffer` before a write operation completes

Parameters:
  `buf` - the `ByteBuffer` to operate on
  `position` - the index in the `ByteBuffer` to start from
  `length` - the number of bytes to operate on
Throws:
  `IOException` - thrown if an error occurs

#### complete

    void complete()
           throws IOException

Is called to complete the `ChannelFunction`. Access it after complete is called may result in unexpected behavior.

Throws:
  `IOException` - thrown if an error occurs