MCPcopy Create free account
hub / github.com/apache/trafficserver / fieldAdd

Function fieldAdd

include/tscore/Extendible.h:467–483  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

465/// Add a new Field to this record type
466template <class Derived_t, class Field_t>
467bool
468fieldAdd(FieldId<Derived_t, Field_t> &field_id, char const *field_name)
469{
470 using namespace ext::details;
471 Schema &schema = Extendible<Derived_t>::schema;
472 ink_release_assert(schema.no_instances()); // it's too late, we already started allocating.
473 ink_release_assert(!areFieldsFinalized()); // it's too late, Fields must be added during Plugin Init.
474
475 auto field_iter = schema.fields.find(field_name);
476 if (field_iter != schema.fields.end()) {
477 return false;
478 }
479
480 makeFieldId(field_id, schema.fields[field_name]);
481 schema.updateMemOffsets();
482 return true;
483}
484
485/// Add a new Field to Derived_t, this C function uses a fat API
486template <class Derived_t>

Callers 1

test_Extendible.ccFile · 0.85

Calls 5

makeFieldIdFunction · 0.85
no_instancesMethod · 0.80
updateMemOffsetsMethod · 0.80
findMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected