if ($count) { $avg = $sum/$count; $uTrades->makeHashCall($lbAvgPriceHelper, &Triceps::OP_INSERT, symbol => $rhLast->getRow()->get("symbol"), id => $rhLast->getRow()->get("id"), price => $avg ); } else { $uTrades->makeHashCall($lbAvgPriceHelper, &Triceps::OP_DELETE, symbol => $rLastMod->get("symbol"), ); }
The full list of the methods added is:
$label->makeRowopHash($opcode, $fieldName => $fieldValue, ...) $label->makeRowopArray($opcode, $fieldValue, ...) $unit->makeHashCall($label, $opcode, $fieldName => $fieldValue, ...) $unit->makeArrayCall($label, $opcode, $fieldValue, ...) $unit->makeHashSchedule($label, $opcode, $fieldName => $fieldValue, ...) $unit->makeArraySchedule($label, $opcode, $fieldValue, ...) $unit->makeHashLoopAt($mark, $label, $opcode, $fieldName => $fieldValue, ...) $unit->makeArrayLoopAt($mark, $label, $opcode, $fieldValue, ...)
The label methods amount to calling makeRowHash() or makeRowArray() on their row type, and then wrapping the result into makeRowop(). The unit methods call the new label methods to create the rowop and then call, schedule of loop it. There aren't similar wrappers for forking or general enqueueing because those methods are not envisioned to be used often.
In the future the convenience methods will move into the C++ code and will become not only more convenient but also more efficient.
No comments:
Post a Comment