summaryrefslogtreecommitdiff
path: root/io.c
AgeCommit message (Collapse)AuthorFilesLines
2007-07-10Tweaking the license text a bit more.Wayne Davison1-2/+3
2007-07-07Changed "count" to "used" in struct file_list since there canWayne Davison1-3/+3
be empty items that make the count inaccurate (and the name somewhat deceiving).
2007-07-07Switching to GPL 3.Wayne Davison1-3/+2
2007-05-26Handle EINTR in a couple places where we handle the --file-from I/O.Wayne Davison1-6/+8
2007-05-23Output a -vvv(erbose) message when receiving an incremental file list.Wayne Davison1-0/+4
2007-04-26The --iconv option has now made it to the trunk.Wayne Davison1-28/+87
2007-04-23Changed the prerelease-protocol support to use an idiom that will notWayne Davison1-5/+0
slow down the initial version handshake between the two sides.
2007-04-21Batch files need to be written with the new subprotocol valueWayne Davison1-0/+5
for protocol 30.
2007-04-20Added a message queue for the receiver->generator messages to handle the caseWayne Davison1-23/+38
where the message pipe is being used to forward the file-list data.
2007-04-20- Changed the {read,write}_longint() functions into separateWayne Davison1-208/+153
{read,write}_varlong() and {read,write}_longint() functions: the former handles variable-length transmissions, and the latter is backward-compatible with older rsync versions. - Improved the {read,write}_var{int,long}() functions to be simpler and to use a different byte order. - The {read_write}_varlong() functions also allow the caller to specify the minimum number of bytes to send. This allows time values to be sent efficiently with a 4-byte minimum, while length values continue to be sent with a (more optimal for them) 3-byte minimum.
2007-04-20Changed the *_abbbrevint() functions to *_varint().Wayne Davison1-2/+2
2007-03-18Protocol 30 now uses MD5 checksums instead of MD4.Wayne Davison1-1/+1
2007-03-11The ACL support has arrived! This version has a brand new protocolWayne Davison1-5/+67
that makes it incompatible with all prior versions. A patch will be provided to allow talking with older (patched) rsync versions.
2007-02-16Improved the incremental sending of file lists in two ways: (1)Wayne Davison1-2/+3
when the sender gets an index of a file to send, we make sure to send enough future file-list data relative to the new cur_flist value before we send the data for the file transfer (ensuring that the generator gets the data in a more timely manner), and (2) the generator flushes the output socket after each file-list object has completed its scan so that the sender knows in a more timely manner that more list data is needed.
2007-02-04Further modifications to the copyright comment section.Wayne Davison1-4/+3
2007-02-03The ndx arg passed to increment_active_files() is now the unique,Wayne Davison1-1/+1
over-the-wire value, making it consistent with the ndx arg that is passed to decrement_active_files().
2007-01-31Mention the year 2007 in the copyright declarations.Wayne Davison1-1/+1
2007-01-30- Renamed done_cnt -> msgdone_cnt.Wayne Davison1-8/+7
- Changed increment_active_files() to call check_for_finished_files() and to avoid calling both io_flush() and read_msg_fd() in the same iteration of a loop (since the former may have called the latter).
2007-01-27- Fixed a potential hang bug in wait_for_receiver() that could occurWayne Davison1-3/+10
if the io_flush() call happened to read the last message from the receiver, causing the read_msg_fd() call to deadlock. - Fixed an error-looping problem when the server-side receiver failed to send a message down the error-msg pipe: we no longer try to send a new error about this new failure down the same failing pipe. - Make sure that we stop any deferring of forwarded messages in the generator when we are exiting with an error.
2007-01-27Changed the variable "incremental" to "inc_recurse".Wayne Davison1-7/+7
2007-01-27The last MSG_DONE from the receiver to the generator is now followedWayne Davison1-1/+5
by the stats.total_read value so that the generator can set its value to that of the receiver. This makes log_exit() log the right value when we're on the server side.
2007-01-20- Make sure that we can't write via io_flush() when msg_fd_in isWayne Davison1-86/+49
temporarily set to -1. - Got rid of the msg2genr message cache.
2007-01-20We need to call msg2sndr_flush() in read_msg_fd() now.Wayne Davison1-0/+2
2007-01-20Make sure defer_forwarding_messages is set when msg_fd_in getsWayne Davison1-0/+2
set to -1.
2006-12-29- My use of readfd_unbuffered() in read_msg_fd() really needed to beWayne Davison1-19/+18
readfd() so that the buffer is never partially filled. - Make sure that msg2genr_flush() does not flush any messages while the flist-forwarding is active. - Changed io_flush() to honor its flush_it_all arg again.
2006-12-28Added write_ndx() and read_ndx(), functions that allow us to transmitWayne Davison1-0/+80
fewer bytes when exchanging the file-list index values.
2006-12-28- Handle the new incremental-recursion mode.Wayne Davison1-115/+210
- Changed some function names to make them more consistent.
2006-12-27Made the int_byte_cnt[] array 75% smaller.Wayne Davison1-18/+6
2006-12-18Moved the write_stream_flags() call from io.c into main.c so thatWayne Davison1-2/+0
it gets called before the transfer starts (thus ensuring that it can write out un-tweaked values of preserver_[ug]id vars).
2006-12-10Added MSG_CLIENT to the acceptable messages the generator canWayne Davison1-1/+3
get from the receiver.
2006-12-06#ifdef calls to hard-link functions.Wayne Davison1-0/+4
2006-12-05Use the latest F_*() accessors.Wayne Davison1-2/+2
2006-12-04Added send_msg_int() function.Wayne Davison1-0/+7
2006-11-24- Added checking of SIZEOF_INT64 to the new code in read_longint().Wayne Davison1-3/+20
- Improved the SIZEOF_INT64 checking code in write_longint().
2006-11-24- Changed {read,write}_shortint() to use unsigned short.Wayne Davison1-48/+48
- Added explicit char-casting to new long-int code.
2006-11-24- Fixed a bug when sending a negative 64-bit number (which may notWayne Davison1-28/+152
be needed, but it at least works right now). - Improved the transmission of 32-bit negative numbers on systems where the 32-bit type is larger than 32 bits. - Changed the sending of 64-bit numbers for protocol 30: we send them in MSB-first order with the number of bytes used in the transmission encoded into the earliest bits. This lets us save transmitted bytes for both small and large numbers. The new method sends from 3 to 9 bytes, the old sent either 4 or 12.
2006-11-21Explicitly cast the tag value in read_msg_fd() to an enum.Wayne Davison1-1/+1
2006-11-19Added "const" to appropriate char pointers.Wayne Davison1-11/+11
2006-09-30Added exception-checking to a couple select() calls, as suggestedWayne Davison1-8/+21
by Hugh Daschbach.
2006-06-30Decided that I like remove-source-files better than remove-sender-files.Wayne Davison1-4/+4
2006-06-30The remove_sent_files var was renamed to remove_sender_files.Wayne Davison1-4/+4
2006-05-03Changed read_msg_fd() to always use send_msg()/rwrite() instead ofWayne Davison1-28/+13
sometimes calling io_multiplex_write()/rwrite() or msg_list_add(). This simplifies the code that does the defer_forwarding_messages checking because it can now be done in just one place, in send_msg() (because rwrite() also calls send_msg() now when forwarding a msg).
2006-05-03A small optimization to the new code in msg2sndr_flush().Wayne Davison1-1/+1
2006-05-03Fixed a bug where deferred MSG_INFO/MSG_ERROR/MSG_LOG messages wereWayne Davison1-3/+14
not being forwarded from the generator to the sender using rwrite() (and MSG_LOG messages didn't need to be deferred at all).
2006-04-25Updated the FSF's address to an even newer one.Wayne Davison1-3/+3
2006-04-25- Updated the address for the FSF in the opening comment.Wayne Davison1-18/+12
- Standardized the format of the opening comment, including adding a brief description of what's in the file for those that lacked it. - Added some missing copyright lines. - Some minor whitespace tweaks (in a few of the files).
2006-04-21- Got rid of the (mostly useless) io_read_phase and io_write_phaseWayne Davison1-25/+2
variables. In the future it might be useful to get rsync to mention what kind of a message it was trying to write, but the 'phase "unknown"' output was ubiquitous and confusing. - Got rid of the completely unused write_int_named() function.
2006-03-28Output the who_am_i() info in the "unknown message" error.Wayne Davison1-1/+2
2006-03-16An extra safeguard for msg2sndr_flush().Wayne Davison1-1/+1
2006-03-16Made the new msg2sndr handling even better.Wayne Davison1-14/+25