… | |
… | |
214 | } |
214 | } |
215 | |
215 | |
216 | sub snd(@) { |
216 | sub snd(@) { |
217 | my ($nodeid, $portid) = split /#/, shift, 2; |
217 | my ($nodeid, $portid) = split /#/, shift, 2; |
218 | |
218 | |
219 | warn "SND $nodeid <- " . eval { JSON::XS->new->encode (\@_) } . "\n" if TRACE && @_;#d# |
219 | warn "SND $nodeid <- " . eval { JSON::XS->new->encode ([$portid, @_]) } . "\n" if TRACE && @_;#d# |
220 | |
220 | |
221 | defined $nodeid #d#UGLY |
221 | defined $nodeid #d#UGLY |
222 | or Carp::croak "'undef' is not a valid node ID/port ID"; |
222 | or Carp::croak "'undef' is not a valid node ID/port ID"; |
223 | |
223 | |
224 | ($NODE{$nodeid} || add_node $nodeid) |
224 | ($NODE{$nodeid} || add_node $nodeid) |