Class: Wiretap::NodeMetaData
- Inherits:
-
Object
- Object
- Wiretap::NodeMetaData
- Includes:
- Enumerable
- Defined in:
- lib/wiretap.rb,
ext/nodemetadata.cpp
Instance Attribute Summary collapse
-
#node ⇒ Object
readonly
Returns the value of attribute node.
Instance Method Summary collapse
-
#[](*args) ⇒ Object
Get metadata by index.
-
#[]=(index, value) ⇒ Object
Set metadata at index.
-
#count ⇒ Object
Get count of node metadata entries.
-
#each ⇒ Object
eval block on each metadata entry.
Instance Attribute Details
#node ⇒ Object (readonly)
Returns the value of attribute node.
237 238 239 |
# File 'lib/wiretap.rb', line 237 def node @node end |
Instance Method Details
#[](*args) ⇒ Object
Get metadata by index
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'ext/nodemetadata.cpp', line 19 static VALUE (int argc, VALUE *argv, VALUE self) { WireTapNodeHandle* node; VALUE stream_name, filter, depth; rb_scan_args(argc, argv, "12", &stream_name, &filter, &depth); Check_Type(stream_name, T_STRING); if(filter != Qnil) { Check_Type(filter, T_STRING); } if(depth != Qnil) { Check_Type(depth, T_FIXNUM); } Data_Get_Struct(self, WireTapNodeHandle, node); WireTapStr data; NODERUN_E(node, node->getMetaData(CSTR(stream_name), filter == Qnil ? "all" : CSAFESTR(filter), depth == Qnil ? 0 : FIX2INT(depth), data)); return wiretap_to_str(data); } |
#[]=(index, value) ⇒ Object
Set metadata at index
43 44 45 46 47 48 49 50 51 |
# File 'ext/nodemetadata.cpp', line 43 static VALUE (VALUE self, VALUE index, VALUE value) { WireTapNodeHandle* node; Data_Get_Struct(self, WireTapNodeHandle, node); Check_Type(index, T_STRING); Check_Type(value, T_STRING); NODERUN_E(node, node->setMetaData(CSTR(index), WireTapStr(CSTR(value)))); return self; } |
#count ⇒ Object
Get count of node metadata entries
8 9 10 11 12 13 14 |
# File 'ext/nodemetadata.cpp', line 8 static VALUE (VALUE self) { WireTapNodeHandle* node; int num; Data_Get_Struct(self, WireTapNodeHandle, node); NODERUN_E(node, node->getNumAvailableMetaDataStreams(num)); return INT2FIX(num); } |
#each ⇒ Object
eval block on each metadata entry
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'ext/nodemetadata.cpp', line 56 static VALUE (VALUE self) { WireTapNodeHandle* node; int i, num; Data_Get_Struct(self, WireTapNodeHandle, node); NODERUN_E(node, node->getNumAvailableMetaDataStreams(num)); for(i = 0; i < num; i++) { WireTapStr stream; NODERUN_E(node, node->getAvailableMetaDataStream(i, stream)); WireTapStr data; NODERUN_E(node, node->getMetaData(stream.c_str(), "all", -1, data)); rb_yield(rb_ary_new3(2, wiretap_to_str(stream), wiretap_to_str(data))); } return self; } |