feisty meow concerns codebase
2.140
|
Supports an early step in using octopus services: getting an identity. More...
#include <identity_tentacle.h>
Public Member Functions | |
identity_tentacle (octopus &parent) | |
the "parent" will provide the real identity services. More... | |
virtual | ~identity_tentacle () |
DEFINE_CLASS_NAME ("identity_tentacle") | |
virtual basis::outcome | reconstitute (const structures::string_array &classifier, basis::byte_array &packed_form, infoton *&reformed) |
reinflates an infoton given that we know the type in "classifier". More... | |
virtual basis::outcome | consume (infoton &to_chow, const octopus_request_id &item_id, basis::byte_array &transformed) |
chews on the "to_chow" infoton to perform the requested action. More... | |
Public Member Functions inherited from octopi::tentacle_helper< identity_infoton > | |
tentacle_helper (const structures::string_array &classifier, bool backgrounded, int motivational_rate=tentacle::DEFAULT_RATE) | |
virtual | ~tentacle_helper () |
force a virtual destructor. More... | |
virtual basis::outcome | consume (infoton &formal(to_chow), const octopus_request_id &formal(item_id), basis::byte_array &transformed) |
consume is not really provided here. remember to implement for servers! More... | |
virtual void | expunge (const octopus_entity &formal(to_remove)) |
no general actions for expunge; they are all class-specific. More... | |
Public Member Functions inherited from octopi::tentacle | |
tentacle (const structures::string_array &group_name, bool backgrounded, int motivational_rate=tentacle::DEFAULT_RATE) | |
constructs a tentacle that handles infotons with the "group_name". More... | |
virtual | ~tentacle () |
DEFINE_CLASS_NAME ("tentacle") | |
const structures::string_array & | group () const |
returns the name of the group that this tentacle services. More... | |
bool | backgrounding () const |
reports on whether this tentacle supports background operation or not. More... | |
int | motivational_rate () const |
returns the background processing rate this was constructed with. More... | |
virtual void | expunge (const octopus_entity &to_remove)=0 |
called to remove traces of the entity "to_remove". More... | |
basis::outcome | enqueue (infoton *to_chow, const octopus_request_id &item_id) |
holds onto infotons coming from the octopus for backgrounding. More... | |
infoton * | next_request (octopus_request_id &item_id) |
pops out the next queued request for processing. More... | |
bool | store_product (infoton *product, const octopus_request_id &original_id) |
used by tentacles to store the objects they produce from infotons. More... | |
void | attach_storage (entity_data_bin &storage) |
used when a tentacle is being integrated with an octopus. More... | |
void | detach_storage () |
unhooks the storage bin from this tentacle. More... | |
entity_data_bin * | get_storage () |
returns the current pointer, which might be nil. More... | |
void | propel_arm () |
invoked by our thread to cause requests to be processed. More... | |
Additional Inherited Members | |
Public Types inherited from octopi::tentacle | |
enum | constants { DEFAULT_RATE = 40 } |
enum | outcomes { OKAY = basis::common::OKAY , NOT_FOUND = basis::common::NOT_FOUND , ALREADY_EXISTS = basis::common::EXISTING , BAD_INPUT = basis::common::BAD_INPUT , NO_SPACE = basis::common::NO_SPACE , GARBAGE = basis::common::GARBAGE , DISALLOWED = basis::common::DISALLOWED , NO_HANDLER = basis::common::NO_HANDLER , PARTIAL = basis::common::PARTIAL , ENCRYPTION_MISMATCH = basis::common::ENCRYPTION_MISMATCH } |
Static Public Member Functions inherited from octopi::tentacle | |
static const char * | outcome_name (const basis::outcome &to_name) |
returns the textual form of the outcome "to_name". More... | |
Supports an early step in using octopus services: getting an identity.
Definition at line 29 of file identity_tentacle.h.
octopi::identity_tentacle::identity_tentacle | ( | octopus & | parent | ) |
the "parent" will provide the real identity services.
Definition at line 36 of file identity_tentacle.cpp.
|
virtual |
Definition at line 42 of file identity_tentacle.cpp.
|
virtual |
chews on the "to_chow" infoton to perform the requested action.
if it's an identity_infoton, then a new identity is provided. otherwise, the identity is given rudimentary checks for validity and the infoton is passed along.
Implements octopi::tentacle.
Definition at line 54 of file identity_tentacle.cpp.
References octopi::identity_infoton::_new_name, octopi::identity_infoton::clone(), octopi::tentacle::DISALLOWED, FUNCDEF, octopi::octopus::issue_identity(), LOG, octopi::octopus_entity::mangled_form(), octopi::octopus_request_id::mangled_form(), octopi::tentacle::NO_SPACE, octopi::tentacle::OKAY, octopi::tentacle::PARTIAL, basis::array< contents >::reset(), and octopi::tentacle::store_product().
octopi::identity_tentacle::DEFINE_CLASS_NAME | ( | "identity_tentacle" | ) |
|
virtual |
reinflates an infoton given that we know the type in "classifier".
recreates a "reformed" infoton from the "classifier" and packed infoton data in "packed_form". this will only succeed if the classifier's first name is understood here.
Reimplemented from octopi::tentacle_helper< identity_infoton >.
Definition at line 44 of file identity_tentacle.cpp.
References octopi::identity_infoton::identity_classifier(), octopi::tentacle::NO_HANDLER, NULL_POINTER, and octopi::reconstituter().