diff options
author | Chris Wilson <chris+github@qwirx.com> | 2014-03-01 10:42:48 +0000 |
---|---|---|
committer | Chris Wilson <chris+github@qwirx.com> | 2014-03-01 10:42:48 +0000 |
commit | 2b6ac135fa7071290289741c9e35747bb9f1012f (patch) | |
tree | 037507c43ac097fb2cd5850bbd57f25a553e20e8 /lib/backupstore/StoreTestUtils.h | |
parent | 2ef0a9aa8cd3cd4dcfa0cd9d2014051832c52e8a (diff) |
Make Protocol take control of the socket object passed in.
We pass a std::auto_ptr<SocketStream> to every Protocol subclass when we
construct it, and it takes control of this object. This reduces the risk of:
* accidentally reusing the same SocketStream for multiple Protocols
(it happened to me in testbackupstore);
* holding onto a reference to the SocketStream;
* allowing a locally-scoped SocketStream to go out of scope and be released
while still being referenced by a live Protocol.
Diffstat (limited to 'lib/backupstore/StoreTestUtils.h')
-rw-r--r-- | lib/backupstore/StoreTestUtils.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/backupstore/StoreTestUtils.h b/lib/backupstore/StoreTestUtils.h index d15404fa..3365a7f4 100644 --- a/lib/backupstore/StoreTestUtils.h +++ b/lib/backupstore/StoreTestUtils.h @@ -37,12 +37,12 @@ void set_refcount(int64_t ObjectID, uint32_t RefCount = 1); void init_context(TLSContext& rContext); //! Opens a connection to the server (bbstored). -std::auto_ptr<SocketStreamTLS> open_conn(const char *hostname, +std::auto_ptr<SocketStream> open_conn(const char *hostname, TLSContext& rContext); //! Opens a connection to the server (bbstored) and logs in. -std::auto_ptr<BackupProtocolClient> test_server_login(const char *hostname, - TLSContext& rContext, std::auto_ptr<SocketStreamTLS>& rapConn); +std::auto_ptr<BackupProtocolCallable> test_server_login(const char *hostname, + TLSContext& rContext, int flags = 0); //! Checks the number of files of each type in the store against expectations. bool check_num_files(int files, int old, int deleted, int dirs); |