1 #ifndef CROMP_CLIENT_CLASS
2 #define CROMP_CLIENT_CLASS
42 class asynch_connection_thread;
168 int _connection_wait;
177 bool _channel_secured;
183 void stop_asynch_thread();
Provides a dynamically resizable ASCII character string.
A very common template for a dynamic array of bytes.
Outcomes describe the state of completion for an operation.
virtual basis::outcome login()
octopi::octopus_request_id next_id()
basis::outcome connect(const basis::byte_array &verification=blank_verification())
basis::outcome submit(const octopi::infoton &request, octopi::octopus_request_id &item_id, int max_tries=80)
static const basis::byte_array & blank_verification()
const octopi::octopus_entity & entity() const
@ DEFAULT_MAX_CONNECT_WAIT
@ DEFAULT_MAX_RESPONSE_WAIT
basis::outcome acquire(octopi::infoton *&response, const octopi::octopus_request_id &cmd_id, int timeout=DEFAULT_MAX_RESPONSE_WAIT)
cromp_client(const sockets::internet_address &destination, int connection_wait=DEFAULT_MAX_CONNECT_WAIT, int max_per_ent=DEFAULT_MAX_ENTITY_QUEUE)
const basis::byte_array & verification() const
void keep_alive_pause(int duration=0, int interval=40)
basis::outcome synchronous_request(const octopi::infoton &to_send, octopi::infoton *&received, octopi::octopus_request_id &item_id, int timeout=DEFAULT_MAX_RESPONSE_WAIT)
basis::outcome disconnect()
friend class asynch_connection_thread
basis::outcome acquire_any(octopi::infoton *&response, octopi::octopus_request_id &cmd_id, int timeout=DEFAULT_MAX_RESPONSE_WAIT)
DEFINE_CLASS_NAME("cromp_client")
basis::astring instance_name() const
basis::outcome asynch_connect()
void reset(const sockets::internet_address &destination, int connection_wait=DEFAULT_MAX_CONNECT_WAIT, int max_per_ent=DEFAULT_MAX_ENTITY_QUEUE)
void decrypt_package_as_needed(basis::outcome &to_return, octopi::infoton *&response, const octopi::octopus_request_id &cmd_id)
A few common features used by both CROMP clients and servers.
Provides BlowFish encryption on byte_arrays using the OpenSSL package.
the blank_entity_registry can be used when security is not an issue.
Processes the encryption_infoton object for setting up an encrypted channel.
Wraps an encrypted infoton when the octopus is in an encrypted mode.
An infoton is an individual request parcel with accompanying information.
Provides a way of identifying users of an octopus object.
basis::astring text_form() const
returns a readable form of the identifier.
Identifies requests made on an octopus by users.
this type of address describes a destination out on the internet.
A roller that's based on integers. This is the most common type so far.
const int SECOND_ms
Number of milliseconds in a second.
const int MINUTE_ms
Number of milliseconds in a minute.
const int DEFAULT_MAX_ENTITY_QUEUE
the default size we allow per each entity.