You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ea...@apache.org on 2016/11/15 14:31:58 UTC
[49/51] [partial] qpid-dispatch git commit: DISPATCH-561 Added
program to return fake management data
http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/c24cddee/console/test/mock/entities.py
----------------------------------------------------------------------
diff --git a/console/test/mock/entities.py b/console/test/mock/entities.py
new file mode 100644
index 0000000..b20538d
--- /dev/null
+++ b/console/test/mock/entities.py
@@ -0,0 +1,358 @@
+#!/usr/bin/env python
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+import json
+from proton import generate_uuid
+import collections
+
+class Schema(object):
+ schema = {}
+
+ @staticmethod
+ def i(entity, attribute):
+ return Schema.schema[entity]["attributeNames"].index(attribute)
+
+ @staticmethod
+ def type(entity):
+ return Schema.schema[entity]["fullyQualifiedType"]
+
+ @staticmethod
+ def init():
+ with open("topologies/schema.json") as fp:
+ data = json.load(fp)
+ for entity in data["entityTypes"]:
+ Schema.schema[entity] = {"attributeNames": [],
+ "fullyQualifiedType": data["entityTypes"][entity]["fullyQualifiedType"]}
+ for attribute in data["entityTypes"][entity]["attributes"]:
+ Schema.schema[entity]["attributeNames"].append(attribute)
+ Schema.schema[entity]["attributeNames"].append("type")
+
+class SparseList(list):
+ '''
+ from http://stackoverflow.com/questions/1857780/sparse-assignment-list-in-python
+ '''
+ def __setitem__(self, index, value):
+ missing = index - len(self) + 1
+ if missing > 0:
+ self.extend([None] * missing)
+ list.__setitem__(self, index, value)
+ def __getitem__(self, index):
+ try: return list.__getitem__(self, index)
+ except IndexError: return None
+
+class Entity(object):
+ def __init__(self, name):
+ self.name = name
+ self.value = SparseList()
+ self.settype()
+
+ def setval(self, attribute, value):
+ self.value[Schema.i(self.name, attribute)] = value
+
+ def settype(self):
+ self.setval("type", Schema.type(self.name))
+
+ def setZero(self, attributes):
+ for attribute in attributes:
+ self.setval(attribute, 0)
+
+ def getval(self, attr):
+ return self.value[Schema.i(self.name, attr)]
+
+ def vals(self):
+ return self.value
+
+class Multiple(object):
+ def __init__(self):
+ self.results = []
+
+ def vals(self):
+ return self.results
+
+class RouterNode(Entity):
+ instance = 0
+ def __init__(self, f, t, links, hopper):
+ super(RouterNode, self).__init__("router.node")
+ self.hopper = hopper
+ self.init(f, t, links)
+
+ def init(self, f, t, links):
+ RouterNode.instance += 1
+ self.setval("name", "router.node/" + t)
+ self.setval("nextHop", "(self)" if f == t else self.hopper.get(f, t, links))
+ self.setval("validOrigins", [])
+ self.setval("linkState", [])
+ self.setval("instance", RouterNode.instance)
+ self.setval("cost", 1)
+ self.setval("address", "amqp:/_topo/0/" + t)
+ self.setval("id", t)
+ self.setval("identity", self.value[Schema.i(self.name, "name")])
+
+ def reset(self):
+ RouterNode.nh = NextHop()
+
+class Connector(Entity):
+ def __init__(self, host, port):
+ super(Connector, self).__init__("connector")
+ self.init(host, port)
+
+ def init(self, host, port):
+ self.setval("verifyHostName", True)
+ self.setval("cost", 1)
+ self.setval("addr", "127.0.0.1")
+ self.setval("maxSessions", 32768)
+ self.setval("allowRedirect", True)
+ self.setval("idleTimeoutSeconds", 16)
+ self.setval("saslMechanisms", "AMONYMOUS")
+ self.setval("maxFrameSize", 16384)
+ self.setval("maxSessionFrames", 100)
+ self.setval("host", host)
+ self.setval("role", "inter-router")
+ self.setval("stripAnnotations", "both")
+ self.setval("port", port)
+ self.setval("identity", "connector/" + host + ":" + port)
+ self.setval("name", self.getval("identity"))
+
+class Policy(Entity):
+ def __init__(self):
+ super(Policy, self).__init__("policy")
+ self.init()
+
+ def init(self):
+ self.setval("connectionsProcessed", 2)
+ self.setval("defaultVhost", "$default")
+ self.setval("connectionsDenied", 0)
+ self.setval("enableVhostPolicy", False)
+ self.setval("maxConnections", 65535)
+ self.setval("connectionsCurrent", self.getval("connectionsProcessed"))
+ self.setval("identity", 1)
+ self.setval("name", "policy/" + str(self.getval("identity")))
+
+class Logs(Multiple):
+ modules = ["AGENT", "CONTAINER", "DEFAULT", "ERROR", "MESSAGE", "POLICY", "ROUTER", "ROUTER_CORE", "ROUTER_HELLO",
+ "ROUTER_LS", "ROUTER_MA", "SERVER"]
+
+ def __init__(self):
+ super(Logs, self).__init__()
+ for module in Logs.modules:
+ self.results.append(Log(module).vals())
+
+class Log(Entity):
+ def __init__(self, module):
+ super(Log, self).__init__("log")
+ self.init(module)
+
+ def init(self, module):
+ self.setval("name", "log/" + module)
+ self.setval("identity", self.getval("name"))
+ self.setval("module", module)
+
+class Allocators(Multiple):
+ names = [["qd_bitmask", 24], ["_buffer", 536], ["_composed_field", 64], ["_composite", 112], ["_connection", 232],
+ ["_connector", 56], ["_deferred_call", 32], ["_field_iterator", 128], ["_hash_handle", 16],
+ ["_hash_item", 32], ["_hash_segment", 24], ["_link", 48], ["_listener", 32], ["_log_entry", 2104],
+ ["_management_context", 56], ["_message_context", 640], ["_message", 128], ["_node", 56],
+ ["_parsed_field", 88], ["_timer", 56], ["_work_item", 24], ["pn_connector", 600], ["pn_listener", 48],
+ ["r_action", 160], ["r_address_config", 56], ["r_address", 264], ["r_connection", 232],
+ ["r_connection_work", 56], ["r_delivery_ref", 24], ["r_delivery", 144], ["r_field", 40],
+ ["r_general_work", 64], ["r_link_ref", 24], ["r_link", 304], ["r_node", 64], ["r_query", 336],
+ ["r_terminus", 64], ["tm_router", 16]]
+
+ def __init__(self):
+ super(Allocators, self).__init__()
+ for name in Allocators.names:
+ self.results.append(Allocator(name).vals())
+
+class Allocator(Entity):
+ def __init__(self, name):
+ super(Allocator, self).__init__("allocator")
+ self.init(name)
+
+ def init(self, name):
+ n = "qd" + name[0] + "_t"
+ self.setZero(["heldByThreads", "transferBatchSize", "globalFreeListMax", "batchesRebalancedToGlobal", "batchesRebalancedToThreads",
+ "totalFreeToHeap", "totalAllocFromHeap", "localFreeListMax"])
+ self.setval("name", "allocator/" + n)
+ self.setval("identity", self.getval("name"))
+ self.setval("typeName", n)
+ self.setval("typeSize", name[1])
+
+class RouterAddresses(Multiple):
+ def __init__(self, node, nodes):
+ super(RouterAddresses, self).__init__()
+
+ addresses = {}
+ others = []
+ for n in nodes:
+ if n['nodeType'] == 'inter-router':
+ if n['name'] != node['name']:
+ self.results.append(RouterAddress("R"+n['name'], [n['name']], "closest", 0).vals())
+ others.append(n['name'])
+ else:
+ for normal in n['normals']:
+ nname = '.'.join(normal['name'].split('.')[:-1])
+ if "console_identifier" not in node['properties']:
+ maddr = "M0" + normal['addr']
+ if maddr not in addresses:
+ addresses[maddr] = []
+ if nname != node['name']:
+ if nname not in addresses[maddr]:
+ addresses[maddr].append(nname)
+
+ for address in addresses:
+ self.results.append(RouterAddress(address, addresses[address], "balanced", 0).vals())
+
+ self.results.append(RouterAddress("L_$management_internal", [], "closest", 1).vals())
+ self.results.append(RouterAddress("M0$management", [], "closest", 1).vals())
+ self.results.append(RouterAddress("L$management", [], "closest", 1).vals())
+ self.results.append(RouterAddress("L$qdhello", [], "flood", 1).vals())
+ self.results.append(RouterAddress("L$qdrouter", [], "flood", 1).vals())
+ self.results.append(RouterAddress("L$qdrouter.ma", [], "multicast", 1).vals())
+ self.results.append(RouterAddress("Tqdrouter", others, "flood", 1).vals())
+ self.results.append(RouterAddress("Tqdrouter.ma", others, "multicast", 1).vals())
+
+class RouterAddress(Entity):
+ def __init__(self, name, rhrList, distribution, inProcess):
+ super(RouterAddress, self).__init__("router.address")
+ self.init(name, rhrList, distribution, inProcess)
+
+ def init(self, name, rhrList, distribution, inProcess):
+ self.setZero(["subscriberCount", "deliveriesEgress", "deliveriesIngress",
+ "deliveriesFromContainer", "deliveriesTransit", "containerCount",
+ "trackedDeliveries", "deliveriesToContainer"])
+ self.setval("name", name)
+ self.setval("key", self.getval("name"))
+ self.setval("distribution", distribution)
+ self.setval("identity", self.getval("name"))
+ self.setval("remoteHostRouters", rhrList)
+ self.setval("remoteCount", len(rhrList))
+ self.setval("inProcess", inProcess)
+
+class Address(Entity):
+ def __init__(self):
+ super(Address, self).__init__("address")
+ self.init()
+
+ def init(self):
+ self.setval("egressPhase", 0)
+ self.setval("ingressPhase", 0)
+ self.setval("prefix", "closest")
+ self.setval("waypoint", False)
+ self.setval("distribution", "closest")
+ self.setval("identity", 1)
+ self.setval("name", "address/" + str(self.getval("identity")))
+
+class Router(Entity):
+ def __init__(self, node):
+ super(Router, self).__init__("router")
+ self.init(node)
+
+ def init(self, node):
+ self.setval("mobileAddrMaxAge", 60)
+ self.setval("raIntervalFlux", 4)
+ self.setval("workerThreads", 4)
+ self.setval("name", "router/" + node['name'])
+ self.setval("helloInterval", 1)
+ self.setval("area", 0)
+ self.setval("helloMaxAge", 3)
+ self.setval("remoteLsMaxAge", 60)
+ self.setval("addrCount", 0)
+ self.setval("raInterval", 30)
+ self.setval("mode", "interior")
+ self.setval("nodeCount", 0)
+ self.setval("saslConfigName", "qdrouterd")
+ self.setval("linkCount", 0)
+ self.setval("id", node['name'])
+ self.setval("identity", "router/" + node['name'])
+
+class Listener(Entity):
+ def __init__(self, port):
+ super(Listener, self).__init__("listener")
+ self.init(port)
+
+ def init(self, port):
+ self.setval("stripAnnotations", "both")
+ self.setval("requireSsl", False)
+ self.setval("idleTimeoutSeconds", 16)
+ self.setval("cost", 1)
+ self.setval("port", str(port))
+ self.setval("addr", "0.0.0.0")
+ self.setval("saslMechanisms", "ANONYMOUS")
+ self.setval("requireEncryption", False)
+ self.setval("linkCapacity", 4)
+ self.setval("role", "normal")
+ self.setval("authenticatePeer", False)
+ self.setval("host", "::")
+ self.setval("identity", "listener/:::" + str(port))
+ self.setval("name", self.getval("identity"))
+ self.setval("maxFrameSize", 16384)
+
+class Connection(Entity):
+ def __init__(self, node, id):
+ super(Connection, self).__init__("connection")
+ self.init(node, id)
+
+ def init(self, node, id):
+ if "container" not in node:
+ self.setval("container", str(generate_uuid()))
+ else:
+ self.setval("container", node["container"])
+ self.setval("opened", True)
+ self.setval("name", "connection/0.0.0.0:" + str(id))
+ self.setval("properties", node["properties"])
+ self.setval("ssl", False)
+ if "host" in node:
+ self.setval("host", node["host"])
+ else:
+ self.setval("host", "0.0.0.0:20000")
+ if "isEncrypted" not in node:
+ self.setval("isEncrypted", False)
+ else:
+ self.setval("isEncrypted", node["isEncrypted"])
+ if "user" not in node:
+ self.setval("user", "anonymous")
+ else:
+ self.setval("user", node["user"])
+ self.setval("role", node["nodeType"])
+ self.setval("isAuthenticated", False)
+ self.setval("identity", id)
+ self.setval("dir", node["cdir"])
+
+class RouterLink(Entity):
+ def __init__(self, node, identity, ldir, owningAddr, linkType, connId):
+ super(RouterLink, self).__init__("router.link")
+ self.init(node, identity, ldir, owningAddr, linkType, connId)
+
+ def init(self, node, identity, ldir, owningAddr, linkType, connId):
+ linkUuid = str(generate_uuid())
+ self.setval("name", linkUuid)
+ self.setval("identity", identity)
+ self.setval("linkName", linkUuid)
+ self.setval("linkType", linkType)
+ self.setval("linkDir", ldir)
+ self.setval("owningAddr", owningAddr)
+ self.setval("capacity", 250)
+ self.setZero(["undeliveredCount", "unsettledCount", "deliveryCount", "presettledCount", "acceptedCount",
+ "rejectedCount", "releasedCount", "modifiedCount"])
+ self.setval("connectionId", connId)
+ self.setval("adminStatus", "enabled")
+ self.setval("operStatus", "up")
+
+Schema.init()
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/c24cddee/console/test/mock/nexthop.py
----------------------------------------------------------------------
diff --git a/console/test/mock/nexthop.py b/console/test/mock/nexthop.py
new file mode 100644
index 0000000..ab0c01a
--- /dev/null
+++ b/console/test/mock/nexthop.py
@@ -0,0 +1,145 @@
+#!/usr/bin/env python
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+import collections
+
+class TreeNode(object):
+ def __init__(self, f, parent):
+ self.name = f
+ self.parent = parent
+ self.children = []
+ self.visited = False
+
+ def procreate(self, links):
+ if self.visited:
+ return
+ self.visited = True
+ for link in links:
+ if link['source']['nodeType'] == 'inter-router' and link['target']['nodeType'] == 'inter-router':
+ if (link['source']['name'] == self.name or link['target']['name'] == self.name):
+ name = link['source']['name'] if link['target']['name'] == self.name else link['target']['name']
+ if not name in self.ancestors():
+ self.children.append(TreeNode(name, self))
+
+ def ancestors(self):
+ a = self.geneology(self.parent)
+ a.reverse()
+ return a
+
+ def geneology(self, parent):
+ if parent is None:
+ return []
+ ret = [parent.name]
+ ret.extend(self.geneology(parent.parent))
+ return ret
+
+class Hopper(object):
+ def __init__(self, verbose):
+ self.tree = {}
+ self.table = {}
+ self.verbose = verbose
+
+ def get(self, f, t, links):
+ if self.verbose:
+ print ("------- asked to get " + f + " to " + t)
+ if f in self.table and t in self.table[f]:
+ if self.verbose:
+ print " ------- returning existing " + str(self.table[f][t])
+ return self.table[f][t]
+
+ self.tree = {}
+ #treef = self.highest(f)
+ #if treef is None:
+ treef = self.root(f)
+
+ q = collections.deque([treef])
+ while len(q):
+ node = q.popleft()
+ self.process(f, node, treef.name, links)
+ if f in self.table and t in self.table[f]:
+ if self.verbose:
+ print " ------- returning " + str(self.table[f][t])
+ ret = self.table[f][t]
+ self.table = {}
+ return ret
+ for n in node.children:
+ q.append(n)
+ if self.verbose:
+ print (" ------- returning unfound nextHop of None")
+
+ def process(self, f, node, r, links):
+ node.procreate(links)
+ for n in node.children:
+ self.populateTable(f, n, r)
+
+ def populateTable(self, f, node, r):
+ n = node.name
+ if not f in self.table:
+ self.table[f] = {}
+ self.table[f][f] = None
+ if not n in self.table:
+ self.table[n] = {}
+ self.table[n][n] = None
+ if not node.parent:
+ return
+ if node.parent.name == f:
+ self.table[f][n] = None
+ self.table[n][f] = None
+ else:
+ def setHop(n, a, p):
+ if not a in self.table[n]:
+ self.table[n][a] = p
+
+ def loop(ancestors):
+ for i in range(1): #range(len(ancestors)):
+ start = ancestors[i]
+ for j in range(i+1, len(ancestors)):
+ stop = ancestors[j]
+ if j-i == 1:
+ setHop(start, stop, None)
+ else:
+ setHop(start, stop, ancestors[i+1])
+
+
+ ancestors = node.ancestors()
+ while len(ancestors) > 0 and ancestors[0] != r:
+ ancestors.pop(0)
+ ancestors.append(n)
+ loop(ancestors)
+ ancestors.reverse()
+ loop(ancestors)
+
+ def root(self, f):
+ if not self.tree:
+ self.tree[f] = TreeNode(f, None)
+ return self.tree[list(self.tree.keys())[0]]
+
+ def highest(self, f):
+ r = self.root(f)
+ if r.name == f:
+ return r
+ q = collections.deque([r])
+ while len(q):
+ node = q.popleft()
+ for n in node.children:
+ if n.name == f:
+ return n
+ q.append(n)
+ return None
http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/c24cddee/console/test/topologies/config-1/R.0.json
----------------------------------------------------------------------
diff --git a/console/test/topologies/config-1/R.0.json b/console/test/topologies/config-1/R.0.json
new file mode 100644
index 0000000..53467c8
--- /dev/null
+++ b/console/test/topologies/config-1/R.0.json
@@ -0,0 +1,1725 @@
+{
+ ".allocator": {
+ "attributeNames": [
+ "heldByThreads",
+ "localFreeListMax",
+ "transferBatchSize",
+ "globalFreeListMax",
+ "batchesRebalancedToGlobal",
+ "typeName",
+ "batchesRebalancedToThreads",
+ "totalFreeToHeap",
+ "totalAllocFromHeap",
+ "typeSize",
+ "identity",
+ "name",
+ "type"
+ ],
+ "results": [
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdqd_bitmask_t",
+ 0,
+ 0,
+ 0,
+ 24,
+ "allocator/qdqd_bitmask_t",
+ "allocator/qdqd_bitmask_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_buffer_t",
+ 0,
+ 0,
+ 0,
+ 536,
+ "allocator/qd_buffer_t",
+ "allocator/qd_buffer_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_composed_field_t",
+ 0,
+ 0,
+ 0,
+ 64,
+ "allocator/qd_composed_field_t",
+ "allocator/qd_composed_field_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_composite_t",
+ 0,
+ 0,
+ 0,
+ 112,
+ "allocator/qd_composite_t",
+ "allocator/qd_composite_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_connection_t",
+ 0,
+ 0,
+ 0,
+ 232,
+ "allocator/qd_connection_t",
+ "allocator/qd_connection_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_connector_t",
+ 0,
+ 0,
+ 0,
+ 56,
+ "allocator/qd_connector_t",
+ "allocator/qd_connector_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_deferred_call_t",
+ 0,
+ 0,
+ 0,
+ 32,
+ "allocator/qd_deferred_call_t",
+ "allocator/qd_deferred_call_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_field_iterator_t",
+ 0,
+ 0,
+ 0,
+ 128,
+ "allocator/qd_field_iterator_t",
+ "allocator/qd_field_iterator_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_hash_handle_t",
+ 0,
+ 0,
+ 0,
+ 16,
+ "allocator/qd_hash_handle_t",
+ "allocator/qd_hash_handle_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_hash_item_t",
+ 0,
+ 0,
+ 0,
+ 32,
+ "allocator/qd_hash_item_t",
+ "allocator/qd_hash_item_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_hash_segment_t",
+ 0,
+ 0,
+ 0,
+ 24,
+ "allocator/qd_hash_segment_t",
+ "allocator/qd_hash_segment_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_link_t",
+ 0,
+ 0,
+ 0,
+ 48,
+ "allocator/qd_link_t",
+ "allocator/qd_link_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_listener_t",
+ 0,
+ 0,
+ 0,
+ 32,
+ "allocator/qd_listener_t",
+ "allocator/qd_listener_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_log_entry_t",
+ 0,
+ 0,
+ 0,
+ 2104,
+ "allocator/qd_log_entry_t",
+ "allocator/qd_log_entry_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_management_context_t",
+ 0,
+ 0,
+ 0,
+ 56,
+ "allocator/qd_management_context_t",
+ "allocator/qd_management_context_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_message_context_t",
+ 0,
+ 0,
+ 0,
+ 640,
+ "allocator/qd_message_context_t",
+ "allocator/qd_message_context_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_message_t",
+ 0,
+ 0,
+ 0,
+ 128,
+ "allocator/qd_message_t",
+ "allocator/qd_message_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_node_t",
+ 0,
+ 0,
+ 0,
+ 56,
+ "allocator/qd_node_t",
+ "allocator/qd_node_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_parsed_field_t",
+ 0,
+ 0,
+ 0,
+ 88,
+ "allocator/qd_parsed_field_t",
+ "allocator/qd_parsed_field_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_timer_t",
+ 0,
+ 0,
+ 0,
+ 56,
+ "allocator/qd_timer_t",
+ "allocator/qd_timer_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qd_work_item_t",
+ 0,
+ 0,
+ 0,
+ 24,
+ "allocator/qd_work_item_t",
+ "allocator/qd_work_item_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdpn_connector_t",
+ 0,
+ 0,
+ 0,
+ 600,
+ "allocator/qdpn_connector_t",
+ "allocator/qdpn_connector_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdpn_listener_t",
+ 0,
+ 0,
+ 0,
+ 48,
+ "allocator/qdpn_listener_t",
+ "allocator/qdpn_listener_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdr_action_t",
+ 0,
+ 0,
+ 0,
+ 160,
+ "allocator/qdr_action_t",
+ "allocator/qdr_action_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdr_address_config_t",
+ 0,
+ 0,
+ 0,
+ 56,
+ "allocator/qdr_address_config_t",
+ "allocator/qdr_address_config_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdr_address_t",
+ 0,
+ 0,
+ 0,
+ 264,
+ "allocator/qdr_address_t",
+ "allocator/qdr_address_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdr_connection_t",
+ 0,
+ 0,
+ 0,
+ 232,
+ "allocator/qdr_connection_t",
+ "allocator/qdr_connection_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdr_connection_work_t",
+ 0,
+ 0,
+ 0,
+ 56,
+ "allocator/qdr_connection_work_t",
+ "allocator/qdr_connection_work_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdr_delivery_ref_t",
+ 0,
+ 0,
+ 0,
+ 24,
+ "allocator/qdr_delivery_ref_t",
+ "allocator/qdr_delivery_ref_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdr_delivery_t",
+ 0,
+ 0,
+ 0,
+ 144,
+ "allocator/qdr_delivery_t",
+ "allocator/qdr_delivery_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdr_field_t",
+ 0,
+ 0,
+ 0,
+ 40,
+ "allocator/qdr_field_t",
+ "allocator/qdr_field_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdr_general_work_t",
+ 0,
+ 0,
+ 0,
+ 64,
+ "allocator/qdr_general_work_t",
+ "allocator/qdr_general_work_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdr_link_ref_t",
+ 0,
+ 0,
+ 0,
+ 24,
+ "allocator/qdr_link_ref_t",
+ "allocator/qdr_link_ref_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdr_link_t",
+ 0,
+ 0,
+ 0,
+ 304,
+ "allocator/qdr_link_t",
+ "allocator/qdr_link_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdr_node_t",
+ 0,
+ 0,
+ 0,
+ 64,
+ "allocator/qdr_node_t",
+ "allocator/qdr_node_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdr_query_t",
+ 0,
+ 0,
+ 0,
+ 336,
+ "allocator/qdr_query_t",
+ "allocator/qdr_query_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdr_terminus_t",
+ 0,
+ 0,
+ 0,
+ 64,
+ "allocator/qdr_terminus_t",
+ "allocator/qdr_terminus_t",
+ "org.apache.qpid.dispatch.allocator"
+ ],
+ [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "qdtm_router_t",
+ 0,
+ 0,
+ 0,
+ 16,
+ "allocator/qdtm_router_t",
+ "allocator/qdtm_router_t",
+ "org.apache.qpid.dispatch.allocator"
+ ]
+ ]
+ },
+ ".autoLink": {
+ "attributeNames": [
+ "addr",
+ "linkRef",
+ "containerId",
+ "operStatus",
+ "connection",
+ "dir",
+ "phase",
+ "lastError",
+ "externalAddr",
+ "identity",
+ "name",
+ "type"
+ ],
+ "results": []
+ },
+ ".connection": {
+ "attributeNames": [
+ "container",
+ "opened",
+ "sslCipher",
+ "user",
+ "sslProto",
+ "dir",
+ "ssl",
+ "host",
+ "isEncrypted",
+ "role",
+ "identity",
+ "sasl",
+ "sslSsf",
+ "properties",
+ "isAuthenticated",
+ "name",
+ "type"
+ ],
+ "results": [
+ [
+ "b9053259-30b3-4c3f-b080-74e529da07a3",
+ true,
+ null,
+ "anonymous",
+ null,
+ "both",
+ false,
+ "0.0.0.0:20002",
+ false,
+ "normal",
+ 1,
+ null,
+ null,
+ {
+ "console_identifier": "Dispatch console"
+ },
+ false,
+ "connection/0.0.0.0:1",
+ "org.apache.qpid.dispatch.connection"
+ ],
+ [
+ "efe7ddf0-fc6d-49cb-8a17-ca571e12fe98",
+ true,
+ null,
+ "anonymous",
+ null,
+ "both",
+ false,
+ "0.0.0.0:20002",
+ false,
+ "normal",
+ 2,
+ null,
+ null,
+ {
+ "console_identifier": "Dispatch console"
+ },
+ false,
+ "connection/0.0.0.0:2",
+ "org.apache.qpid.dispatch.connection"
+ ],
+ [
+ "fdc6626f-7e1d-465f-99cf-8b02842faf6c",
+ true,
+ null,
+ "anonymous",
+ null,
+ "out",
+ false,
+ "0.0.0.0:20004",
+ false,
+ "normal",
+ 3,
+ null,
+ null,
+ {},
+ false,
+ "connection/0.0.0.0:3",
+ "org.apache.qpid.dispatch.connection"
+ ],
+ [
+ "9b24bcaa-1e6c-4498-99cd-a123865744ee",
+ true,
+ null,
+ "anonymous",
+ null,
+ "out",
+ false,
+ "0.0.0.0:20004",
+ false,
+ "normal",
+ 4,
+ null,
+ null,
+ {},
+ false,
+ "connection/0.0.0.0:4",
+ "org.apache.qpid.dispatch.connection"
+ ],
+ [
+ "faf3c05e-c1eb-4ce8-af30-d034273d3e9d",
+ true,
+ null,
+ "anonymous",
+ null,
+ "out",
+ false,
+ "0.0.0.0:20004",
+ false,
+ "normal",
+ 5,
+ null,
+ null,
+ {},
+ false,
+ "connection/0.0.0.0:5",
+ "org.apache.qpid.dispatch.connection"
+ ],
+ [
+ "aaf5a8ec-3e6c-4289-9204-7178a539d37f",
+ true,
+ null,
+ "anonymous",
+ null,
+ "in",
+ false,
+ "0.0.0.0:20005",
+ false,
+ "normal",
+ 6,
+ null,
+ null,
+ {},
+ false,
+ "connection/0.0.0.0:6",
+ "org.apache.qpid.dispatch.connection"
+ ],
+ [
+ "1aa7d699-650c-423a-a31a-c25dc2794931",
+ true,
+ null,
+ "anonymous",
+ null,
+ "in",
+ false,
+ "0.0.0.0:20005",
+ false,
+ "normal",
+ 7,
+ null,
+ null,
+ {},
+ false,
+ "connection/0.0.0.0:7",
+ "org.apache.qpid.dispatch.connection"
+ ],
+ [
+ "3a948171-9075-42fd-941c-71998faa6106",
+ true,
+ null,
+ "anonymous",
+ null,
+ "both",
+ false,
+ "0.0.0.0:20006",
+ false,
+ "normal",
+ 8,
+ null,
+ null,
+ {},
+ false,
+ "connection/0.0.0.0:8",
+ "org.apache.qpid.dispatch.connection"
+ ]
+ ]
+ },
+ ".connector": {
+ "attributeNames": [
+ "maxSessionFrames",
+ "verifyHostName",
+ "stripAnnotations",
+ "addr",
+ "saslUsername",
+ "allowRedirect",
+ "idleTimeoutSeconds",
+ "saslMechanisms",
+ "maxFrameSize",
+ "port",
+ "linkCapacity",
+ "host",
+ "cost",
+ "role",
+ "saslPassword",
+ "sslProfile",
+ "maxSessions",
+ "protocolFamily",
+ "identity",
+ "name",
+ "type"
+ ],
+ "results": [
+ [
+ 100,
+ true,
+ "both",
+ "127.0.0.1",
+ null,
+ true,
+ 16,
+ "AMONYMOUS",
+ 16384,
+ "20004",
+ null,
+ "0.0.0.0",
+ 1,
+ "inter-router",
+ null,
+ null,
+ 32768,
+ null,
+ "connector/0.0.0.0:20004",
+ "connector/0.0.0.0:20004",
+ "org.apache.qpid.dispatch.connector"
+ ],
+ [
+ 100,
+ true,
+ "both",
+ "127.0.0.1",
+ null,
+ true,
+ 16,
+ "AMONYMOUS",
+ 16384,
+ "20004",
+ null,
+ "0.0.0.0",
+ 1,
+ "inter-router",
+ null,
+ null,
+ 32768,
+ null,
+ "connector/0.0.0.0:20004",
+ "connector/0.0.0.0:20004",
+ "org.apache.qpid.dispatch.connector"
+ ],
+ [
+ 100,
+ true,
+ "both",
+ "127.0.0.1",
+ null,
+ true,
+ 16,
+ "AMONYMOUS",
+ 16384,
+ "20004",
+ null,
+ "0.0.0.0",
+ 1,
+ "inter-router",
+ null,
+ null,
+ 32768,
+ null,
+ "connector/0.0.0.0:20004",
+ "connector/0.0.0.0:20004",
+ "org.apache.qpid.dispatch.connector"
+ ]
+ ]
+ },
+ ".linkRoute": {
+ "attributeNames": [
+ "containerId",
+ "operStatus",
+ "prefix",
+ "connection",
+ "dir",
+ "distribution",
+ "identity",
+ "name",
+ "type"
+ ],
+ "results": []
+ },
+ ".listener": {
+ "attributeNames": [
+ "stripAnnotations",
+ "requireSsl",
+ "idleTimeoutSeconds",
+ "trustedCerts",
+ "maxSessionFrames",
+ "cost",
+ "port",
+ "allowNoSasl",
+ "addr",
+ "saslMechanisms",
+ "requireEncryption",
+ "linkCapacity",
+ "requirePeerAuth",
+ "allowUnsecured",
+ "maxSessions",
+ "authenticatePeer",
+ "host",
+ "role",
+ "protocolFamily",
+ "identity",
+ "name",
+ "maxFrameSize",
+ "sslProfile",
+ "type"
+ ],
+ "results": [
+ [
+ "both",
+ false,
+ 16,
+ null,
+ null,
+ 1,
+ "20001",
+ null,
+ "0.0.0.0",
+ "ANONYMOUS",
+ false,
+ 4,
+ null,
+ null,
+ null,
+ false,
+ "::",
+ "normal",
+ null,
+ "listener/:::20001",
+ "listener/:::20001",
+ 16384,
+ null,
+ "org.apache.qpid.dispatch.listener"
+ ]
+ ]
+ },
+ ".log": {
+ "attributeNames": [
+ "enable",
+ "name",
+ "timestamp",
+ "module",
+ "source",
+ "output",
+ "identity",
+ "type"
+ ],
+ "results": [
+ [
+ null,
+ "log/AGENT",
+ null,
+ "AGENT",
+ null,
+ null,
+ "log/AGENT",
+ "org.apache.qpid.dispatch.log"
+ ],
+ [
+ null,
+ "log/CONTAINER",
+ null,
+ "CONTAINER",
+ null,
+ null,
+ "log/CONTAINER",
+ "org.apache.qpid.dispatch.log"
+ ],
+ [
+ null,
+ "log/DEFAULT",
+ null,
+ "DEFAULT",
+ null,
+ null,
+ "log/DEFAULT",
+ "org.apache.qpid.dispatch.log"
+ ],
+ [
+ null,
+ "log/ERROR",
+ null,
+ "ERROR",
+ null,
+ null,
+ "log/ERROR",
+ "org.apache.qpid.dispatch.log"
+ ],
+ [
+ null,
+ "log/MESSAGE",
+ null,
+ "MESSAGE",
+ null,
+ null,
+ "log/MESSAGE",
+ "org.apache.qpid.dispatch.log"
+ ],
+ [
+ null,
+ "log/POLICY",
+ null,
+ "POLICY",
+ null,
+ null,
+ "log/POLICY",
+ "org.apache.qpid.dispatch.log"
+ ],
+ [
+ null,
+ "log/ROUTER",
+ null,
+ "ROUTER",
+ null,
+ null,
+ "log/ROUTER",
+ "org.apache.qpid.dispatch.log"
+ ],
+ [
+ null,
+ "log/ROUTER_CORE",
+ null,
+ "ROUTER_CORE",
+ null,
+ null,
+ "log/ROUTER_CORE",
+ "org.apache.qpid.dispatch.log"
+ ],
+ [
+ null,
+ "log/ROUTER_HELLO",
+ null,
+ "ROUTER_HELLO",
+ null,
+ null,
+ "log/ROUTER_HELLO",
+ "org.apache.qpid.dispatch.log"
+ ],
+ [
+ null,
+ "log/ROUTER_LS",
+ null,
+ "ROUTER_LS",
+ null,
+ null,
+ "log/ROUTER_LS",
+ "org.apache.qpid.dispatch.log"
+ ],
+ [
+ null,
+ "log/ROUTER_MA",
+ null,
+ "ROUTER_MA",
+ null,
+ null,
+ "log/ROUTER_MA",
+ "org.apache.qpid.dispatch.log"
+ ],
+ [
+ null,
+ "log/SERVER",
+ null,
+ "SERVER",
+ null,
+ null,
+ "log/SERVER",
+ "org.apache.qpid.dispatch.log"
+ ]
+ ]
+ },
+ ".policy": {
+ "attributeNames": [
+ "connectionsProcessed",
+ "policyDir",
+ "defaultVhost",
+ "connectionsDenied",
+ "enableVhostPolicy",
+ "maxConnections",
+ "connectionsCurrent",
+ "identity",
+ "name",
+ "type"
+ ],
+ "results": [
+ [
+ 2,
+ null,
+ "$default",
+ 0,
+ false,
+ 65535,
+ 2,
+ 1,
+ "policy/1",
+ "org.apache.qpid.dispatch.policy"
+ ]
+ ]
+ },
+ ".router": {
+ "attributeNames": [
+ "identity",
+ "debugDump",
+ "raIntervalFlux",
+ "workerThreads",
+ "name",
+ "helloInterval",
+ "area",
+ "helloMaxAge",
+ "saslConfigPath",
+ "remoteLsMaxAge",
+ "addrCount",
+ "routerId",
+ "raInterval",
+ "mode",
+ "nodeCount",
+ "saslConfigName",
+ "mobileAddrMaxAge",
+ "id",
+ "linkCount",
+ "type"
+ ],
+ "results": [
+ [
+ "router/R.0",
+ null,
+ 4,
+ 4,
+ "router/R.0",
+ 1,
+ 0,
+ 3,
+ null,
+ 60,
+ 0,
+ null,
+ 30,
+ "interior",
+ 0,
+ "qdrouterd",
+ 60,
+ "R.0",
+ 0,
+ "org.apache.qpid.dispatch.router"
+ ]
+ ]
+ },
+ ".router.address": {
+ "attributeNames": [
+ "subscriberCount",
+ "deliveriesEgress",
+ "name",
+ "deliveriesIngress",
+ "transitOutstanding",
+ "remoteCount",
+ "inProcess",
+ "deliveriesFromContainer",
+ "deliveriesTransit",
+ "containerCount",
+ "key",
+ "distribution",
+ "trackedDeliveries",
+ "deliveriesToContainer",
+ "identity",
+ "remoteHostRouters",
+ "type"
+ ],
+ "results": [
+ [
+ 0,
+ 0,
+ "M0addr1",
+ 0,
+ null,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "M0addr1",
+ "balanced",
+ 0,
+ 0,
+ "M0addr1",
+ [],
+ "org.apache.qpid.dispatch.router.address"
+ ],
+ [
+ 0,
+ 0,
+ "L_$management_internal",
+ 0,
+ null,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ "L_$management_internal",
+ "closest",
+ 0,
+ 0,
+ "L_$management_internal",
+ [],
+ "org.apache.qpid.dispatch.router.address"
+ ],
+ [
+ 0,
+ 0,
+ "M0$management",
+ 0,
+ null,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ "M0$management",
+ "closest",
+ 0,
+ 0,
+ "M0$management",
+ [],
+ "org.apache.qpid.dispatch.router.address"
+ ],
+ [
+ 0,
+ 0,
+ "L$management",
+ 0,
+ null,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ "L$management",
+ "closest",
+ 0,
+ 0,
+ "L$management",
+ [],
+ "org.apache.qpid.dispatch.router.address"
+ ],
+ [
+ 0,
+ 0,
+ "L$qdhello",
+ 0,
+ null,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ "L$qdhello",
+ "flood",
+ 0,
+ 0,
+ "L$qdhello",
+ [],
+ "org.apache.qpid.dispatch.router.address"
+ ],
+ [
+ 0,
+ 0,
+ "L$qdrouter",
+ 0,
+ null,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ "L$qdrouter",
+ "flood",
+ 0,
+ 0,
+ "L$qdrouter",
+ [],
+ "org.apache.qpid.dispatch.router.address"
+ ],
+ [
+ 0,
+ 0,
+ "L$qdrouter.ma",
+ 0,
+ null,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ "L$qdrouter.ma",
+ "multicast",
+ 0,
+ 0,
+ "L$qdrouter.ma",
+ [],
+ "org.apache.qpid.dispatch.router.address"
+ ],
+ [
+ 0,
+ 0,
+ "Tqdrouter",
+ 0,
+ null,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ "Tqdrouter",
+ "flood",
+ 0,
+ 0,
+ "Tqdrouter",
+ [],
+ "org.apache.qpid.dispatch.router.address"
+ ],
+ [
+ 0,
+ 0,
+ "Tqdrouter.ma",
+ 0,
+ null,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ "Tqdrouter.ma",
+ "multicast",
+ 0,
+ 0,
+ "Tqdrouter.ma",
+ [],
+ "org.apache.qpid.dispatch.router.address"
+ ]
+ ]
+ },
+ ".router.config.address": {
+ "attributeNames": [
+ "egressPhase",
+ "prefix",
+ "ingressPhase",
+ "waypoint",
+ "distribution",
+ "identity",
+ "name",
+ "type"
+ ],
+ "results": [
+ [
+ 0,
+ "closest",
+ 0,
+ false,
+ "closest",
+ 1,
+ "address/1",
+ "org.apache.qpid.dispatch.router.config.address"
+ ]
+ ]
+ },
+ ".router.link": {
+ "attributeNames": [
+ "adminStatus",
+ "linkType",
+ "releasedCount",
+ "capacity",
+ "name",
+ "operStatus",
+ "linkDir",
+ "unsettledCount",
+ "deliveryCount",
+ "modifiedCount",
+ "peer",
+ "connectionId",
+ "owningAddr",
+ "rejectedCount",
+ "undeliveredCount",
+ "linkName",
+ "presettledCount",
+ "acceptedCount",
+ "identity",
+ "type"
+ ],
+ "results": [
+ [
+ "enabled",
+ "endpoint",
+ 0,
+ 250,
+ "ddee54ee-682b-4b3c-87fd-acbd9e489729",
+ "up",
+ "out",
+ 0,
+ 0,
+ 0,
+ null,
+ 1,
+ "",
+ 0,
+ 0,
+ "ddee54ee-682b-4b3c-87fd-acbd9e489729",
+ 0,
+ 0,
+ "0",
+ "org.apache.qpid.dispatch.router.link"
+ ],
+ [
+ "enabled",
+ "endpoint",
+ 0,
+ 250,
+ "3737620a-c24d-4395-88f9-629fd2177ef1",
+ "up",
+ "in",
+ 0,
+ 0,
+ 0,
+ null,
+ 1,
+ "Ltemp.XQKAT6M2K3QJ6BQ",
+ 0,
+ 0,
+ "3737620a-c24d-4395-88f9-629fd2177ef1",
+ 0,
+ 0,
+ "1",
+ "org.apache.qpid.dispatch.router.link"
+ ],
+ [
+ "enabled",
+ "endpoint",
+ 0,
+ 250,
+ "e1350823-25b4-4fa5-bbd9-bddbaff0fca1",
+ "up",
+ "out",
+ 0,
+ 0,
+ 0,
+ null,
+ 2,
+ "",
+ 0,
+ 0,
+ "e1350823-25b4-4fa5-bbd9-bddbaff0fca1",
+ 0,
+ 0,
+ "2",
+ "org.apache.qpid.dispatch.router.link"
+ ],
+ [
+ "enabled",
+ "endpoint",
+ 0,
+ 250,
+ "f26e3692-9136-417f-8b29-c68e62b13f9b",
+ "up",
+ "in",
+ 0,
+ 0,
+ 0,
+ null,
+ 2,
+ "Ltemp.M2WAWD9DU2D7FLJ",
+ 0,
+ 0,
+ "f26e3692-9136-417f-8b29-c68e62b13f9b",
+ 0,
+ 0,
+ "3",
+ "org.apache.qpid.dispatch.router.link"
+ ],
+ [
+ "enabled",
+ "endpoint",
+ 0,
+ 250,
+ "8762c5ad-902d-4d00-9950-e108f68f47aa",
+ "up",
+ "out",
+ 0,
+ 0,
+ 0,
+ null,
+ 3,
+ "M0addr1",
+ 0,
+ 0,
+ "8762c5ad-902d-4d00-9950-e108f68f47aa",
+ 0,
+ 0,
+ "4",
+ "org.apache.qpid.dispatch.router.link"
+ ],
+ [
+ "enabled",
+ "endpoint",
+ 0,
+ 250,
+ "adb6a17b-5762-4386-9677-4ca549043e30",
+ "up",
+ "out",
+ 0,
+ 0,
+ 0,
+ null,
+ 4,
+ "M0addr1",
+ 0,
+ 0,
+ "adb6a17b-5762-4386-9677-4ca549043e30",
+ 0,
+ 0,
+ "5",
+ "org.apache.qpid.dispatch.router.link"
+ ],
+ [
+ "enabled",
+ "endpoint",
+ 0,
+ 250,
+ "258290b4-20a0-4424-b275-de7006523dde",
+ "up",
+ "out",
+ 0,
+ 0,
+ 0,
+ null,
+ 5,
+ "M0addr1",
+ 0,
+ 0,
+ "258290b4-20a0-4424-b275-de7006523dde",
+ 0,
+ 0,
+ "6",
+ "org.apache.qpid.dispatch.router.link"
+ ],
+ [
+ "enabled",
+ "endpoint",
+ 0,
+ 250,
+ "24d76c37-3d4b-4fc6-8352-26269ec3b41f",
+ "up",
+ "in",
+ 0,
+ 0,
+ 0,
+ null,
+ 6,
+ "M0addr1",
+ 0,
+ 0,
+ "24d76c37-3d4b-4fc6-8352-26269ec3b41f",
+ 0,
+ 0,
+ "7",
+ "org.apache.qpid.dispatch.router.link"
+ ],
+ [
+ "enabled",
+ "endpoint",
+ 0,
+ 250,
+ "da3123a7-9d70-4284-a2e2-284d6dbb8080",
+ "up",
+ "in",
+ 0,
+ 0,
+ 0,
+ null,
+ 7,
+ "M0addr1",
+ 0,
+ 0,
+ "da3123a7-9d70-4284-a2e2-284d6dbb8080",
+ 0,
+ 0,
+ "8",
+ "org.apache.qpid.dispatch.router.link"
+ ],
+ [
+ "enabled",
+ "endpoint",
+ 0,
+ 250,
+ "c5a344f5-2f72-422f-89c4-a9b22d4cfd46",
+ "up",
+ "out",
+ 0,
+ 0,
+ 0,
+ null,
+ 8,
+ "M0addr1",
+ 0,
+ 0,
+ "c5a344f5-2f72-422f-89c4-a9b22d4cfd46",
+ 0,
+ 0,
+ "9",
+ "org.apache.qpid.dispatch.router.link"
+ ],
+ [
+ "enabled",
+ "endpoint",
+ 0,
+ 250,
+ "296a251d-251c-4fac-8589-f423766d9ca3",
+ "up",
+ "in",
+ 0,
+ 0,
+ 0,
+ null,
+ 8,
+ "M0addr1",
+ 0,
+ 0,
+ "296a251d-251c-4fac-8589-f423766d9ca3",
+ 0,
+ 0,
+ "10",
+ "org.apache.qpid.dispatch.router.link"
+ ]
+ ]
+ },
+ ".router.node": {
+ "attributeNames": [
+ "routerLink",
+ "nextHop",
+ "name",
+ "validOrigins",
+ "linkState",
+ "instance",
+ "cost",
+ "address",
+ "id",
+ "identity",
+ "type"
+ ],
+ "results": [
+ [
+ null,
+ "(self)",
+ "router.node/R.0",
+ [],
+ [],
+ 53,
+ 1,
+ "amqp:/_topo/0/R.0",
+ "R.0",
+ "router.node/R.0",
+ "org.apache.qpid.dispatch.router.node"
+ ]
+ ]
+ },
+ ".sslProfile": {
+ "attributeNames": [
+ "certFile",
+ "displayNameFile",
+ "uidFormat",
+ "certDb",
+ "passwordFile",
+ "password",
+ "keyFile",
+ "identity",
+ "name",
+ "type"
+ ],
+ "results": []
+ },
+ ".vhost": {
+ "attributeNames": [
+ "allowUnknownUser",
+ "maxConnectionsPerUser",
+ "groups",
+ "maxConnections",
+ "maxConnectionsPerHost",
+ "id",
+ "identity",
+ "name",
+ "type"
+ ],
+ "results": []
+ },
+ ".vhostStats": {
+ "attributeNames": [
+ "name",
+ "perHostState",
+ "id",
+ "perUserState",
+ "sessionDenied",
+ "connectionsApproved",
+ "receiverDenied",
+ "connectionsCurrent",
+ "connectionsDenied",
+ "senderDenied",
+ "identity",
+ "type"
+ ],
+ "results": []
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/c24cddee/console/test/topologies/config-1/nodeslinks.dat
----------------------------------------------------------------------
diff --git a/console/test/topologies/config-1/nodeslinks.dat b/console/test/topologies/config-1/nodeslinks.dat
new file mode 100644
index 0000000..16b3dcd
--- /dev/null
+++ b/console/test/topologies/config-1/nodeslinks.dat
@@ -0,0 +1,398 @@
+{
+ "nodes": [
+ {
+ "index": 0,
+ "nodeType": "inter-router",
+ "name": "R.0",
+ "weight": 4,
+ "px": 164.29187931882578,
+ "py": 175.80207806090868,
+ "resultIndex": null,
+ "id": 0,
+ "routerId": "R.0",
+ "host": "0.0.0.0:20001",
+ "highlighted": false,
+ "key": "amqp:/_topo/0/R.0/$management",
+ "y": 175.8087056018603,
+ "x": 164.29388840186058,
+ "fixed": 0,
+ "properties": {},
+ "cls": ""
+ },
+ {
+ "weight": 1,
+ "isEncrypted": false,
+ "resultIndex": 0,
+ "id": 1,
+ "index": 1,
+ "px": 100.46794372031725,
+ "py": 223.7253838476624,
+ "highlighted": false,
+ "routerId": "R.0",
+ "cls": "",
+ "nodeType": "normal",
+ "connectionId": 1,
+ "host": "0.0.0.0:20002",
+ "user": "anonymous",
+ "key": "amqp:/_topo/0/R.0/$management",
+ "cdir": "both",
+ "properties": {
+ "console_identifier": "Dispatch console"
+ },
+ "name": "R.0.1",
+ "normals": [
+ {
+ "name": "R.0.1",
+ "addr": "addr1"
+ },
+ {
+ "name": "R.0.8",
+ "addr": "addr1"
+ }
+ ],
+ "y": 223.74204007613326,
+ "x": 100.45333632665597,
+ "fixed": 0
+ },
+ {
+ "weight": 1,
+ "isEncrypted": false,
+ "resultIndex": 0,
+ "id": 2,
+ "index": 2,
+ "px": 243.83192673800565,
+ "py": 171.34084903772512,
+ "highlighted": false,
+ "routerId": "R.0",
+ "cls": "",
+ "nodeType": "normal",
+ "connectionId": 3,
+ "host": "0.0.0.0:20004",
+ "user": "anonymous",
+ "key": "amqp:/_topo/0/R.0/$management",
+ "cdir": "out",
+ "properties": {},
+ "name": "R.0.4",
+ "normals": [
+ {
+ "name": "R.0.4",
+ "addr": "addr1"
+ },
+ {
+ "name": "R.0.5",
+ "addr": "addr1"
+ },
+ {
+ "name": "R.0.6",
+ "addr": "addr1"
+ }
+ ],
+ "y": 171.34342749529537,
+ "x": 243.85250914335518,
+ "fixed": false
+ },
+ {
+ "weight": 1,
+ "isEncrypted": false,
+ "resultIndex": 0,
+ "id": 3,
+ "index": 3,
+ "px": 102.4586287826755,
+ "py": 125.00260883166828,
+ "highlighted": false,
+ "routerId": "R.0",
+ "cls": "",
+ "nodeType": "normal",
+ "connectionId": 3,
+ "host": "0.0.0.0:20005",
+ "user": "anonymous",
+ "key": "amqp:/_topo/0/R.0/$management",
+ "cdir": "in",
+ "properties": {},
+ "name": "R.0.3",
+ "normals": [
+ {
+ "name": "R.0.3",
+ "addr": "addr1"
+ },
+ {
+ "name": "R.0.4",
+ "addr": "addr1"
+ }
+ ],
+ "y": 124.99076765235854,
+ "x": 102.4404612736399,
+ "fixed": false
+ },
+ {
+ "weight": 1,
+ "isEncrypted": false,
+ "resultIndex": 0,
+ "id": 4,
+ "index": 4,
+ "px": 183.762386523301,
+ "py": 98.37984932621536,
+ "highlighted": false,
+ "routerId": "R.0",
+ "cls": "",
+ "nodeType": "normal",
+ "connectionId": 4,
+ "host": "0.0.0.0:20006",
+ "user": "anonymous",
+ "key": "amqp:/_topo/0/R.0/$management",
+ "cdir": "both",
+ "properties": {},
+ "name": "R.0.7",
+ "normals": [
+ {
+ "name": "R.0.7",
+ "addr": "addr1"
+ }
+ ],
+ "y": 98.36087509657327,
+ "x": 183.77066774374404,
+ "fixed": false
+ }
+ ],
+ "links": [
+ {
+ "right": true,
+ "uid": "0.1",
+ "highlighted": false,
+ "source": {
+ "index": 0,
+ "nodeType": "inter-router",
+ "name": "R.0",
+ "weight": 4,
+ "px": 164.29187931882578,
+ "py": 175.80207806090868,
+ "resultIndex": null,
+ "id": 0,
+ "routerId": "R.0",
+ "host": "0.0.0.0:20001",
+ "highlighted": false,
+ "key": "amqp:/_topo/0/R.0/$management",
+ "y": 175.8087056018603,
+ "x": 164.29388840186058,
+ "fixed": 0,
+ "properties": {},
+ "cls": ""
+ },
+ "left": true,
+ "cls": "small",
+ "target": {
+ "weight": 1,
+ "isEncrypted": false,
+ "resultIndex": 0,
+ "id": 1,
+ "index": 1,
+ "px": 100.46794372031725,
+ "py": 223.7253838476624,
+ "highlighted": false,
+ "routerId": "R.0",
+ "cls": "",
+ "nodeType": "normal",
+ "connectionId": 1,
+ "host": "0.0.0.0:20002",
+ "user": "anonymous",
+ "key": "amqp:/_topo/0/R.0/$management",
+ "cdir": "both",
+ "properties": {
+ "console_identifier": "Dispatch console"
+ },
+ "name": "R.0.1",
+ "normals": [
+ {
+ "name": "R.0.1",
+ "addr": "addr1"
+ },
+ {
+ "name": "R.0.8",
+ "addr": "addr1"
+ }
+ ],
+ "y": 223.74204007613326,
+ "x": 100.45333632665597,
+ "fixed": 0
+ }
+ },
+ {
+ "right": true,
+ "uid": "0.2",
+ "highlighted": false,
+ "source": {
+ "index": 0,
+ "nodeType": "inter-router",
+ "name": "R.0",
+ "weight": 4,
+ "px": 164.29187931882578,
+ "py": 175.80207806090868,
+ "resultIndex": null,
+ "id": 0,
+ "routerId": "R.0",
+ "host": "0.0.0.0:20001",
+ "highlighted": false,
+ "key": "amqp:/_topo/0/R.0/$management",
+ "y": 175.8087056018603,
+ "x": 164.29388840186058,
+ "fixed": 0,
+ "properties": {},
+ "cls": ""
+ },
+ "left": false,
+ "cls": "small",
+ "target": {
+ "weight": 1,
+ "isEncrypted": false,
+ "resultIndex": 0,
+ "id": 2,
+ "index": 2,
+ "px": 243.83192673800565,
+ "py": 171.34084903772512,
+ "highlighted": false,
+ "routerId": "R.0",
+ "cls": "",
+ "nodeType": "normal",
+ "connectionId": 3,
+ "host": "0.0.0.0:20004",
+ "user": "anonymous",
+ "key": "amqp:/_topo/0/R.0/$management",
+ "cdir": "out",
+ "properties": {},
+ "name": "R.0.4",
+ "normals": [
+ {
+ "name": "R.0.4",
+ "addr": "addr1"
+ },
+ {
+ "name": "R.0.5",
+ "addr": "addr1"
+ },
+ {
+ "name": "R.0.6",
+ "addr": "addr1"
+ }
+ ],
+ "y": 171.34342749529537,
+ "x": 243.85250914335518,
+ "fixed": false
+ }
+ },
+ {
+ "right": false,
+ "uid": "connection/0.0.0.0:20005:3",
+ "highlighted": false,
+ "source": {
+ "index": 0,
+ "nodeType": "inter-router",
+ "name": "R.0",
+ "weight": 4,
+ "px": 164.29187931882578,
+ "py": 175.80207806090868,
+ "resultIndex": null,
+ "id": 0,
+ "routerId": "R.0",
+ "host": "0.0.0.0:20001",
+ "highlighted": false,
+ "key": "amqp:/_topo/0/R.0/$management",
+ "y": 175.8087056018603,
+ "x": 164.29388840186058,
+ "fixed": 0,
+ "properties": {},
+ "cls": ""
+ },
+ "left": true,
+ "cls": "small",
+ "target": {
+ "weight": 1,
+ "isEncrypted": false,
+ "resultIndex": 0,
+ "id": 3,
+ "index": 3,
+ "px": 102.4586287826755,
+ "py": 125.00260883166828,
+ "highlighted": false,
+ "routerId": "R.0",
+ "cls": "",
+ "nodeType": "normal",
+ "connectionId": 3,
+ "host": "0.0.0.0:20005",
+ "user": "anonymous",
+ "key": "amqp:/_topo/0/R.0/$management",
+ "cdir": "in",
+ "properties": {},
+ "name": "R.0.3",
+ "normals": [
+ {
+ "name": "R.0.3",
+ "addr": "addr1"
+ },
+ {
+ "name": "R.0.4",
+ "addr": "addr1"
+ }
+ ],
+ "y": 124.99076765235854,
+ "x": 102.4404612736399,
+ "fixed": false
+ }
+ },
+ {
+ "right": true,
+ "uid": "connection/0.0.0.0:20006:4",
+ "highlighted": false,
+ "source": {
+ "index": 0,
+ "nodeType": "inter-router",
+ "name": "R.0",
+ "weight": 4,
+ "px": 164.29187931882578,
+ "py": 175.80207806090868,
+ "resultIndex": null,
+ "id": 0,
+ "routerId": "R.0",
+ "host": "0.0.0.0:20001",
+ "highlighted": false,
+ "key": "amqp:/_topo/0/R.0/$management",
+ "y": 175.8087056018603,
+ "x": 164.29388840186058,
+ "fixed": 0,
+ "properties": {},
+ "cls": ""
+ },
+ "left": true,
+ "cls": "small",
+ "target": {
+ "weight": 1,
+ "isEncrypted": false,
+ "resultIndex": 0,
+ "id": 4,
+ "index": 4,
+ "px": 183.762386523301,
+ "py": 98.37984932621536,
+ "highlighted": false,
+ "routerId": "R.0",
+ "cls": "",
+ "nodeType": "normal",
+ "connectionId": 4,
+ "host": "0.0.0.0:20006",
+ "user": "anonymous",
+ "key": "amqp:/_topo/0/R.0/$management",
+ "cdir": "both",
+ "properties": {},
+ "name": "R.0.7",
+ "normals": [
+ {
+ "name": "R.0.7",
+ "addr": "addr1"
+ }
+ ],
+ "y": 98.36087509657327,
+ "x": 183.77066774374404,
+ "fixed": false
+ }
+ }
+ ],
+ "topology": "config-1"
+}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org