Different threads could call run(), satisfy() and fail() method.
Each of the methods reads/writes multiple fields during the method call.
These method calls need to be synchronized to gurantee to see the
latest value.
Change-Id: Ic252b56e0902170d7e0fdb83f96f0fb2e55ec56b
Multiple threads could access the field, lastSink, then they should read
the latest value of lastSink
Change-Id: I279ed6fa3db357008603cde5cb2c57671e66b33c
The field, dispatchFuture, is accessed in activate() method and the thread
where Watchdog is running. Then, different threads could access the field
and couldn't read the latest value.
Change-Id: Iceb390bcf3c5711c1dbb59198667138c8a90b036
The field, dispatchLoop, is accessed in activate() method and the thread
where Watchdog is running. Then, different threads could access the field
and could miss the latest value.
Change-Id: Id218522f5b318fb3d05833ba57d908a1bf6d2949
Adding buckets to group was ignoring the addition of groups
with different weights because they had the same treatment
and type. We'll now update such groupbuckets with the desired new
parameters.
Change-Id: I5f102c5fd78912844883c897bd858ee282f3cc12
Because recordCount or locatorCount is only used when decoding the
LISP control message received from xTR, therefore, there is no
need to provide any interface to specify this value from obj builder.
Change-Id: I380b275e6f06feb4846b84f62ebf2430ad5a9ec6
multicluster.py creates two ONOS "clusters" (1 node by
default, though larger are possible), each of which
is responsible for a separate segment of the data network.
Change-Id: I233c9884b565bd6a28fa1a05e990e86207c88347
Previously we were only passing the first ONOSCluster
into MininetFacade, but lo and behold it supports as
many networks as you like! So we pass them all in the
case where we have multiple ONOSClusters.
Change-Id: If848886b958aa47d3e4834c44adc98fffd90453c
Since --custom files are execed, subsequently importing them
actually creates duplicate classes. This wouldn't be a problem
except that we depend on isinstance(). As a workaround, we allow
the class name to match if isinstance() fails, assuming it will
be a class that is compatible with ONOSCluster or ONOSNode.
Example: env PYTHONPATH=. mn --custom onos.py,mytest.py
where mytest.py imports onos
Change-Id: Ib4cda82fbdd612420de1e113ab768e2f137d5213
With multiple ONOS clusters, we want to make sure that the
forwarded port numbers don't collide. We add a portOffset
which is automatically incremented appropriately as more
ONOSClusters are created. It can also be specified explicitly.
Change-Id: I62977c3d4141668d9f541067db1a20ec0035489b
Now, FlowObjectiveAdapter is not exposed to external applications.
So, each App developer has to define own FlowObjectiveService in their test code.
I removed the previous copy in sfc package.
FlowObjectiveAdaptor is renamed into FlowObjectiveServiceAdaptor
Change-Id: I25545669eea3a73deebaf2a6f2c46e2ff2890b34
- ExecutorService which allows the caller or the Task to
express hint about which Thread it needs to be executed.
Change-Id: If1cc58f6b2369bb5afce4f402c195eacedf67f05