21 #ifndef KINETIC_CPP_CLIENT_KINETIC_CONNECTION_FACTORY_H_
22 #define KINETIC_CPP_CLIENT_KINETIC_CONNECTION_FACTORY_H_
24 #include "kinetic/connection_options.h"
25 #include "kinetic/hmac_provider.h"
26 #include "kinetic/blocking_kinetic_connection.h"
27 #include "kinetic/nonblocking_kinetic_connection.h"
28 #include "kinetic/threadsafe_nonblocking_connection.h"
29 #include "kinetic/threadsafe_blocking_kinetic_connection.h"
30 #include "kinetic/status.h"
35 using std::unique_ptr;
56 unique_ptr <NonblockingKineticConnection>& connection);
60 shared_ptr <NonblockingKineticConnection>& connection);
65 unique_ptr <ThreadsafeNonblockingKineticConnection>& connection);
69 shared_ptr <ThreadsafeNonblockingKineticConnection>& connection);
84 unique_ptr <BlockingKineticConnection>& connection,
85 unsigned int network_timeout_seconds);
89 shared_ptr <BlockingKineticConnection>& connection,
90 unsigned int network_timeout_seconds);
95 unique_ptr <ThreadsafeBlockingKineticConnection>& connection,
96 unsigned int network_timeout_seconds);
100 shared_ptr <ThreadsafeBlockingKineticConnection>& connection,
101 unsigned int network_timeout_seconds);
107 unique_ptr <NonblockingKineticConnection>& connection);
116 #endif // KINETIC_CPP_CLIENT_KINETIC_CONNECTION_FACTORY_H_
Factory class that builds KineticConnection instances. Rather than use the constructor developers sho...
Status NewThreadsafeNonblockingConnection(const ConnectionOptions &options, unique_ptr< ThreadsafeNonblockingKineticConnection > &connection)
Like NewNonblockingConnection, except the connection is safe for use by multiple threads.
Wrapper class that handles computing HMACs. The supplied implementation uses openssl, but users can supply an alternate implementation that uses a different library (e. g. one providing specialized HW accelaration)
Status NewNonblockingConnection(const ConnectionOptions &options, unique_ptr< NonblockingKineticConnection > &connection)
Creates and opens a new nonblocking connection using the given options. If the returned Status indica...
Status NewBlockingConnection(const ConnectionOptions &options, unique_ptr< BlockingKineticConnection > &connection, unsigned int network_timeout_seconds)
Creates and opens a new blocking connection using the given options. If the returned Status indicates...
Status NewThreadsafeBlockingConnection(const ConnectionOptions &options, unique_ptr< ThreadsafeBlockingKineticConnection > &connection, unsigned int network_timeout_seconds)
Like NewBlockingConnection, except the connection is safe for use by multiple threads.
Use this struct to pass all connection options to the KineticConnectionFactory.
Indicates the success/failure of an operation. Frequently when calling a Kinetic client method you'll...