| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new exception code to represent an object being completely missing (not
found on the store at all), separate from not being found in a particular
directory.
Improve mapping of server-side exceptions to protocol error messages returned
to the client.
Add handling for missing exceptions, such as
BackupStoreException::PatchChainInfoBadInDirectory, and the new
BackupStoreException::ObjectDoesNotExist.
Fix mapping for BackupStoreException::CouldNotFindEntryInDirectory to make it
distinguistable from BackupStoreException::ObjectDoesNotExist.
|
|
|
|
|
|
|
|
|
|
| |
Add a standard method to Replyable that will be called if a recoverable
exception (a BoxException) occurs, and can return a protocol Message to be
sent to the client, such as an error code for various standard errors, or
rethrow the exception.
If you want something different, catch exceptions and return the desired
reply yourself, or you'll get the default handling.
|
| |
|
|
|
|
|
| |
It's incompatible with having a logger that logs everything, regardless of
the global log level.
|
|
|
|
|
|
|
|
|
|
| |
Otherwise the protocol might be broken and can't be used any more, even if
we made an effort to return an Error reply instead of throwing an exception.
This used to not be a problem because an Error reply would terminate the
connection anyway, but it no longer does. So if the client also didn't
terminate, but tried to handle the exception and keep using the connection,
then it might find that its next command fails because the protocol is broken.
|
|
|
|
| |
Just like adding a file does.
|
|
|
|
|
| |
Allows creating a directory with a specified modtime (in the parent directory entry).
Tests to come shortly.
|
|
|
|
|
| |
Will hopefully prevent future confusion about the meaning of this info
variable.
|
|
|
|
|
| |
Caused by premature switch from GetNumFiles to GetNumCurrentFiles.
|
|
|
|
|
| |
Allows us to get information about the account that's not available
using the old AccountUsage command. Currently only used in tests.
|
| |
|
|
|
|
|
|
|
| |
By definition, it will be cleared up by the OS automatically.
Also we don't need to support gcc 2.x any more. It was replaced by gcc3 in
2001, 12 years ago.
|
|
|
|
| |
More accurate name for this variable.
|
|
|
|
| |
Makes the source code more readable.
|
|
|
|
|
|
| |
When a command is sent in the wrong phase, or a command that requires
write access is sent to a read-only session, log an error message with
the command details (and current phase in the former case).
|
|
|
|
|
|
|
|
|
|
|
| |
Passing raw pointers is bad C++ style, and dangerous, because Protocol
will free the passed-in pointers after uploading them, so we should not
keep using them.
Reduce code duplication in BackupClientDirectoryRecord patch/normal upload.
Return a std::auto_ptr<BackupStoreFileEncodeStream> instead of a
std::auto_ptr<IOStream> from BackupStoreFile::EncodeFile* functions.
|
| |
|
| |
|
|
|
|
| |
requested by Pete Jalajas.
|
|
|
|
|
| |
Rename ProtocolObject to Message.
|
|
than the other way around. This is needed to allow clients to have all the
code that they'd need to implement local backups (using the Local protocol)
in subsequent commits.
|