feisty meow concerns codebase  2.140
octopi Namespace Reference

Classes

class  entity_data_bin
 Stores a set of infotons grouped by the entity that owns them. More...
 
class  octopus_entity
 Provides a way of identifying users of an octopus object. More...
 
class  octopus_request_id
 Identifies requests made on an octopus by users. More...
 
class  octopus_request_id_set
 a collection of unique request ids. More...
 
class  infoton_id_pair
 implements a list of waiting infotons. More...
 
class  infoton_list
 a list of pending requests and who made them. More...
 
class  identity_infoton
 Encapsulates just the action of identifying an octopus user. More...
 
class  identity_tentacle
 Supports an early step in using octopus services: getting an identity. More...
 
class  infoton
 An infoton is an individual request parcel with accompanying information. More...
 
class  octopus
 Octopus is a design pattern for generalized request processing systems. More...
 
class  tentacle
 Manages a service within an octopus by processing certain infotons. More...
 
class  tentacle_helper
 provides prefab implementations for parts of the tentacle object. More...
 
class  unhandled_request
 Informs the caller that a request type was unknown to the server octopus. More...
 
class  unhandled_request_tentacle
 
class  encryption_infoton
 Encapsulates the chit-chat necessary to establish an encrypted connection. More...
 
class  encryption_tentacle
 Processes the encryption_infoton object for setting up an encrypted channel. More...
 
class  encryption_wrapper
 Wraps an encrypted infoton when the octopus is in an encrypted mode. More...
 
class  unwrapping_tentacle
 this simple tentacle just unpacks the encryption_wrapper infoton. More...
 
class  entity_registry
 Provides a security model for the octopus. More...
 
class  blank_entity_registry
 the blank_entity_registry can be used when security is not an issue. More...
 
class  file_transfer_infoton
 Base objects used by the file transfer tentacle to schedule transfers. More...
 
class  file_transfer_tentacle
 Manages the transferrence of directory trees from one place to another. More...
 
class  octenc_key_record
 Tracks the keys that have been assigned for a secure channel. More...
 
class  key_repository
 
class  login_tentacle
 Provides rudimentary login services. More...
 
class  recursive_file_copy
 Copies entire hierarchies in the file system from one place to another. More...
 
class  security_infoton
 Encapsulates security activities (login, logout, refresh). More...
 
class  simple_entity_registry
 Provides a basic implementation of an entity_registry for octopus. More...
 

Functions

bool text_form_applier (const octopus_entity &formal(key), entity_basket &bask, void *data_link)
 
bool scramble_applier (const octopus_entity &formal(key), entity_basket &bask, void *data_link)
 
bool any_item_applier (const octopus_entity &formal(key), entity_basket &bask, void *data_link)
 
bool cleaning_applier (const octopus_entity &key, entity_basket &bask, void *data_link)
 
 SAFE_STATIC_CONST (string_array, identity_infoton::identity_classifier,(1, identity_classifier_strings)) int identity_infoton
 
template<class contents >
basis::clonablecloner (const contents &this_obj)
 a templated method for cloning any infoton with a valid copy constructor. More...
 
template<class contents >
basis::outcome reconstituter (const structures::string_array &classifier, basis::byte_array &packed_form, infoton *&reformed, contents *formal(junk))
 < reconstituter should work for most infotons to restore flattened infotons. More...
 
 SAFE_STATIC_CONST (string_array, encryption_infoton::encryption_classifier,(1, &encryption_class_constant)) int encryption_infoton
 
 SAFE_STATIC_CONST (string_array, encryption_wrapper::encryption_classifier,(1, wrap_encryption_classifier)) int encryption_wrapper
 
 SAFE_STATIC_CONST (string_array, file_transfer_infoton::file_transfer_classifier,(1, &file_transfer_constant)) int file_transfer_infoton
 
 SAFE_STATIC_CONST (string_array, security_infoton::security_classifier,(1, login_classifier)) int security_infoton
 
bool text_form_applier (const astring &formal(key), recognized_entity &info, void *datalink)
 

Variables

const int OCTOPUS_TABLE_BITS = 6
 
const astring identity_classifier_strings [] = { "#octide" }
 
const abyte FAST_PACK_VERSION = 0x14
 
const int MAXIMUM_TRASH_SIZE = 128 * KILOBYTE
 
const int OCTOPUS_CHECKING_INTERVAL = 4 * MINUTE_ms
 
const char * initter [] = { "__Unhandled__", NULL_POINTER }
 
const char * encryption_class_constant = "#octcod"
 
const char * wrap_encryption_classifier [] = { "#octrap" }
 
const char * file_transfer_constant = "#ftran"
 
const int FTT_CLEANING_INTERVAL = 30 * SECOND_ms
 
const int TRANSFER_TIMEOUT = 10 * MINUTE_ms
 
const int MAX_CHUNK_RFC_COPY_HIER = 1 * MEGABYTE
 
const int EXPECTED_MAXIMUM_TRANSFER_TIME = 10 * HOUR_ms
 
const astring login_classifier [] = { "#octsec" }
 
const int ENTITY_HASH_BITS = 8
 

Function Documentation

◆ any_item_applier()

bool octopi::any_item_applier ( const octopus_entity formalkey,
entity_basket &  bask,
void *  data_link 
)

Definition at line 254 of file entity_data_bin.cpp.

References FUNCDEF.

Referenced by octopi::entity_data_bin::acquire_for_any().

◆ cleaning_applier()

bool octopi::cleaning_applier ( const octopus_entity key,
entity_basket &  bask,
void *  data_link 
)

◆ cloner()

template<class contents >
basis::clonable* octopi::cloner ( const contents &  this_obj)

a templated method for cloning any infoton with a valid copy constructor.

Definition at line 151 of file infoton.h.

◆ reconstituter()

template<class contents >
basis::outcome octopi::reconstituter ( const structures::string_array classifier,
basis::byte_array packed_form,
infoton *&  reformed,
contents *  formaljunk 
)

< reconstituter should work for most infotons to restore flattened infotons.

< the infotons that can be used here just need valid default constructor and unpack methods. the "junk" parameter is needed to allow the template to be disambiguated on some compilers–it is unused and should just be NULL_POINTER.

Definition at line 44 of file tentacle_helper.h.

References octopi::tentacle::GARBAGE, octopi::tentacle::OKAY, octopi::infoton::set_classifier(), and basis::WHACK().

Referenced by octopi::identity_tentacle::reconstitute(), octopi::tentacle_helper< contents >::reconstitute(), octopi::encryption_tentacle::reconstitute(), octopi::unwrapping_tentacle::reconstitute(), octopi::file_transfer_tentacle::reconstitute(), and octopi::login_tentacle::reconstitute().

◆ SAFE_STATIC_CONST() [1/5]

◆ SAFE_STATIC_CONST() [2/5]

◆ SAFE_STATIC_CONST() [3/5]

◆ SAFE_STATIC_CONST() [4/5]

◆ SAFE_STATIC_CONST() [5/5]

◆ scramble_applier()

bool octopi::scramble_applier ( const octopus_entity formalkey,
entity_basket &  bask,
void *  data_link 
)

Definition at line 187 of file entity_data_bin.cpp.

References FUNCDEF.

◆ text_form_applier() [1/2]

bool octopi::text_form_applier ( const astring formalkey,
recognized_entity &  info,
void *  datalink 
)

Definition at line 130 of file simple_entity_registry.cpp.

References basis::astring::text_form().

◆ text_form_applier() [2/2]

bool octopi::text_form_applier ( const octopus_entity formalkey,
entity_basket &  bask,
void *  data_link 
)

Variable Documentation

◆ encryption_class_constant

const char* octopi::encryption_class_constant = "#octcod"

Definition at line 77 of file encryption_infoton.cpp.

◆ ENTITY_HASH_BITS

const int octopi::ENTITY_HASH_BITS = 8

Definition at line 35 of file simple_entity_registry.cpp.

◆ EXPECTED_MAXIMUM_TRANSFER_TIME

const int octopi::EXPECTED_MAXIMUM_TRANSFER_TIME = 10 * HOUR_ms

Definition at line 63 of file recursive_file_copy.cpp.

Referenced by octopi::recursive_file_copy::copy_hierarchy().

◆ FAST_PACK_VERSION

const abyte octopi::FAST_PACK_VERSION = 0x14

◆ file_transfer_constant

const char* octopi::file_transfer_constant = "#ftran"

Definition at line 59 of file file_transfer_infoton.cpp.

◆ FTT_CLEANING_INTERVAL

const int octopi::FTT_CLEANING_INTERVAL = 30 * SECOND_ms

Definition at line 44 of file file_transfer_tentacle.cpp.

◆ identity_classifier_strings

const astring octopi::identity_classifier_strings[] = { "#octide" }

Definition at line 61 of file identity_infoton.cpp.

◆ initter

const char* octopi::initter[] = { "__Unhandled__", NULL_POINTER }

Definition at line 46 of file unhandled_request.cpp.

Referenced by octopi::unhandled_request::the_classifier().

◆ login_classifier

const astring octopi::login_classifier[] = { "#octsec" }

Definition at line 75 of file security_infoton.cpp.

◆ MAX_CHUNK_RFC_COPY_HIER

const int octopi::MAX_CHUNK_RFC_COPY_HIER = 1 * MEGABYTE

Definition at line 60 of file recursive_file_copy.cpp.

Referenced by octopi::recursive_file_copy::copy_hierarchy().

◆ MAXIMUM_TRASH_SIZE

const int octopi::MAXIMUM_TRASH_SIZE = 128 * KILOBYTE

Definition at line 65 of file octopus.cpp.

Referenced by octopi::octopus::expunge().

◆ OCTOPUS_CHECKING_INTERVAL

const int octopi::OCTOPUS_CHECKING_INTERVAL = 4 * MINUTE_ms

Definition at line 71 of file octopus.cpp.

Referenced by octopi::octopus::periodic_cleaning().

◆ OCTOPUS_TABLE_BITS

const int octopi::OCTOPUS_TABLE_BITS = 6

Definition at line 49 of file entity_data_bin.cpp.

◆ TRANSFER_TIMEOUT

const int octopi::TRANSFER_TIMEOUT = 10 * MINUTE_ms

◆ wrap_encryption_classifier

const char* octopi::wrap_encryption_classifier[] = { "#octrap" }

Definition at line 55 of file encryption_wrapper.cpp.