22 using namespace basis;
29 #define LOG(s) CLASS_EMERGENCY_LOG(program_wide_logger::get(), s)
36 identity_tentacle::identity_tentacle(
octopus &parent)
57 #ifdef DEBUG_IDENTITY_TENTACLE
76 #ifdef DEBUG_IDENTITY_TENTACLE
83 #ifdef DEBUG_IDENTITY_TENTACLE
90 #ifdef DEBUG_IDENTITY_TENTACLE
void reset(int number=0, const contents *initial_contents=NULL_POINTER)
Resizes this array and sets the contents from an array of contents.
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.
Encapsulates just the action of identifying an octopus user.
virtual clonable * clone() const
must be provided to allow creation of a copy of this object.
static const structures::string_array & identity_classifier()
returns the classifier for this type of infoton.
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".
virtual ~identity_tentacle()
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.
An infoton is an individual request parcel with accompanying information.
basis::astring mangled_form() const
returns the combined string form of the identifier.
Identifies requests made on an octopus by users.
basis::astring mangled_form() const
similar to entity id.
Octopus is a design pattern for generalized request processing systems.
octopus_entity issue_identity()
creates an entity identifier that is unique for this octopus.
provides prefab implementations for parts of the tentacle object.
bool store_product(infoton *product, const octopus_request_id &original_id)
used by tentacles to store the objects they produce from infotons.
@ PARTIAL
processing of request is partially done.
@ NO_HANDLER
no handler for that type of infoton.
An array of strings with some additional helpful methods.
#define NULL_POINTER
The value representing a pointer to nothing.
#define FUNCDEF(func_in)
FUNCDEF sets the name of a function (and plugs it into the callstack).
The guards collection helps in testing preconditions and reporting errors.
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.
A dynamic container class that holds any kind of object via pointers.