io.undertow.util

## Class Transfer

- java.lang.Object
- - io.undertow.util.Transfer

    public class Transfer
    extends Object

Author:
  Stuart Douglas

### Constructor Summary

Constructors
Constructor and Description
`Transfer()`

### Method Summary

All Methods Static Methods Concrete Methods

`static <I extends org.xnio.channels.StreamSourceChannel,O extends org.xnio.channels.StreamSinkChannel>
void`

`initiateTransfer(I source, O sink, org.xnio.ChannelListener<? super I> sourceListener, org.xnio.ChannelListener<? super O> sinkListener, org.xnio.ChannelExceptionHandler<? super I> readExceptionHandler, org.xnio.ChannelExceptionHandler<? super O> writeExceptionHandler, ByteBufferPool pool)`
Initiate a low-copy transfer between two stream channels.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### Transfer

    public Transfer()

### Method Detail

#### initiateTransfer

    public static <I extends org.xnio.channels.StreamSourceChannel,O extends org.xnio.channels.StreamSinkChannel> void initiateTransfer(I source,
                                                                                                                                        O sink,
                                                                                                                                        org.xnio.ChannelListener<? super I> sourceListener,
                                                                                                                                        org.xnio.ChannelListener<? super O> sinkListener,
                                                                                                                                        org.xnio.ChannelExceptionHandler<? super I> readExceptionHandler,
                                                                                                                                        org.xnio.ChannelExceptionHandler<? super O> writeExceptionHandler,
                                                                                                                                        ByteBufferPool pool)

Initiate a low-copy transfer between two stream channels. The pool should be a direct buffer pool for best performance.

Parameters:
  `source` - the source channel
  `sink` - the target channel
  `sourceListener` - the source listener to set and call when the transfer is complete, or `null` to clear the listener at that time
  `sinkListener` - the target listener to set and call when the transfer is complete, or `null` to clear the listener at that time
  `readExceptionHandler` - the read exception handler to call if an error occurs during a read operation
  `writeExceptionHandler` - the write exception handler to call if an error occurs during a write operation
  `pool` - the pool from which the transfer buffer should be allocated