Есть ли эквивалент для TransferTo для AsynchronousFileChannel? - PullRequest
1 голос
/ 27 марта 2012

Я играл с NIO2 в Java 7, и я вроде бы предполагал, что AsynchronousFileChannel будет иметь метод transferTo, такой как его синхронный FileChannel брат или сестра.

Я ищу передачу без копий между локальным файлом и открытым сокетом TCP. Я попытался просто создать FileChannel и вызвать transferTo с моим AsynchronousSocketChannel в качестве последнего аргумента, но, учитывая, что версия асинхронного сокета не является WritableByteChannel, у Java его не будет.

Если это исключено как опция, кто-нибудь знает об обходном пути или внешней библиотеке, которая позволила бы мне направлять байты в AsynchronousSocketChannel с использованием DMA (и, как следствие, без использования буферов в пользовательском пространстве)?

1 Ответ

1 голос
/ 28 марта 2012

TransferTo () не является асинхронной операцией. Поэтому выполнять его на асинхронном канале не имеет смысла. Так что это не предусмотрено.

...