• Mike Hibler's avatar
    Changes: · 8fd4b67e
    Mike Hibler authored
    Support for jumbo packets.  Setting WITH_JUMBO on the make command line
    will change the image block size to 8192 bytes and reduces the number of
    block per chunk to 256 (to maintain the 1MB chunk size for compat with old
    images).  The default is still 1024.
    
    Added the notion of a "dubious" chunk buffer in the client.  If an incoming
    chunk buffer is marked as CHUNK_DUBIOUS, then its contents can be evicted and
    the buffer reused for a more promising chunk.  This is a crude replacement
    mechanism that is currently only used in one place: if we miss part of a
    chunk and the server switches to sending a new chunk for which we have no
    free buffer, we switch to collecting the new chunk.  The reasoning is that
    it will take a while for the server to switch back to completing the former
    chunk, during which time it may send one or more complete chunks that we
    could more fruitfully use (decompress and write out).
    
    Changed the meaning of the "done" field for a chunk.  It used to mean either
    that we have completely processed the chunk or that we are currently collecting
    it.  It took additional work (scanning all chunk buffers) to differentiate
    these cases, so I make it explicit.
    
    Allow the client and server to dynamically determine the maximum socket
    buffer size.
    
    Fix a couple more on-the-wire data structure size/alignment issues that
    showed up on a 64-bit OS.
    
    A few minor speedups to the bitmap handling code.  Think: "rearranging deck
    chairs on the Titanic" here.  We need more serious algorithmic changes
    to scale all this code going forward.
    
    Add some more TRACE events and refine what is already there.
    
    Added some hacks to allow frisbee client/server to run on the same machine.
    We had made it remarkably hard to do this.  But then again, why would you
    want to!  Look for SAME_HOST_HACK in the makefile.
    8fd4b67e
GNUmakefile.in 4.68 KB