Skip to content
Snippets Groups Projects
Select Git revision
  • f29f45bceab323a7676807b41a3a28f2eed7c152
  • dev default
  • 61-feature-add-optional-backwards-mapping-for-consistency-with-older-version
  • 61-feature-add-optional-backwards-mapping-for-consistency-with-older-version-2
  • main protected
  • 11-test-fix-tests-to-handle-licensed-data-resources-from-trud-snd-omop
  • general
  • pypi
  • old-main
  • v0.0.3
10 results

index.md

Blame
  • FileReceiver.java 1.15 KiB
    final class FileReceiver {
     
        private final int port;
        private final FileWriter fileWriter;
        private final long size;
     
        FileReceiver(final int port, final FileWriter fileWriter, final long size) {
            this.port = port;
            this.fileWriter = fileWriter;
            this.size = size;
        }
     
        void receive() throws IOException {
            SocketChannel channel = null;
     
            try (final ServerSocketChannel serverSocketChannel = ServerSocketChannel.open()) {
                init(serverSocketChannel);
     
                channel = serverSocketChannel.accept();
     
                doTransfer(channel);
            } finally {
                if (!Objects.isNull(channel)) {
                    channel.close();
                }
     
                this.fileWriter.close();
            }
        }
     
        private void doTransfer(final SocketChannel channel) throws IOException {
            assert !Objects.isNull(channel);
     
            this.fileWriter.transfer(channel, this.size);
        }
     
        private void init(final ServerSocketChannel serverSocketChannel) throws IOException {
            assert !Objects.isNull(serverSocketChannel);
     
            serverSocketChannel.bind(new InetSocketAddress(this.port));
        }
    }