swh:1:snp:a72e953ecd624a7df6e6196bbdd05851996c5e40
Raw File
Tip revision: 31efe690bea1fd8f4e44692e205fb72d34f50ad3 authored by Tony Kelman on 30 May 2015, 11:24:10 UTC
Tag v0.3.9
Tip revision: 31efe69
sockxfer.jl



function xfer(s, xfer_exp)
    xfer_size = 10^xfer_exp
    xfer_block = 10^(xfer_exp - 4)

    @sync begin
        @async begin
            # read in chunks of xfer_block
            bread = 0
            while bread < xfer_size
                data = read(s, Uint8, xfer_block)
                @assert length(data) == xfer_block
                bread = bread + xfer_block
            end

#            println("process $(myid()) received $bread bytes")

        end

        @async begin
            # write in chunks of xfer_block
            data = fill!(zeros(Uint8, xfer_block), int8(65))
            bwritten = 0
            while bwritten < xfer_size
                write(s, data)
                bwritten = bwritten + xfer_block
            end
#            println("process $(myid()) sent $bwritten bytes")
        end
    end
end

back to top