Toggle navigation
Toggle navigation
This project
Loading...
Sign in
홍길동
/
onos
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
alshabib
2014-10-22 23:31:50 -0700
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
f6c2ede95f31bd5df9f8cc4a528aae7ab8c6dfd9
f6c2ede9
1 parent
0a1866c2
remote stats service functional
Change-Id: I4ebc4c565b7ee7533b5bd1a0379f54470223ba0e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
7 deletions
core/store/dist/src/main/java/org/onlab/onos/store/statistic/impl/DistributedStatisticStore.java
core/store/serializers/src/main/java/org/onlab/onos/store/serializers/KryoNamespaces.java
core/store/dist/src/main/java/org/onlab/onos/store/statistic/impl/DistributedStatisticStore.java
View file @
f6c2ede
...
...
@@ -3,8 +3,7 @@ package org.onlab.onos.store.statistic.impl;
import
static
org
.
onlab
.
onos
.
store
.
statistic
.
impl
.
StatisticStoreMessageSubjects
.*;
import
static
org
.
slf4j
.
LoggerFactory
.
getLogger
;
import
com.google.common.collect.ImmutableSet
;
import
com.google.common.collect.Sets
;
import
org.apache.felix.scr.annotations.Activate
;
import
org.apache.felix.scr.annotations.Component
;
import
org.apache.felix.scr.annotations.Deactivate
;
...
...
@@ -130,7 +129,7 @@ public class DistributedStatisticStore implements StatisticStore {
}
@Override
public
void
removeFromStatistics
(
FlowRule
rule
)
{
public
synchronized
void
removeFromStatistics
(
FlowRule
rule
)
{
ConnectPoint
cp
=
buildConnectPoint
(
rule
);
if
(
cp
==
null
)
{
return
;
...
...
@@ -139,6 +138,15 @@ public class DistributedStatisticStore implements StatisticStore {
if
(
rep
!=
null
)
{
rep
.
remove
(
rule
);
}
Set
<
FlowEntry
>
values
=
current
.
get
(
cp
);
if
(
values
!=
null
)
{
values
.
remove
(
rule
);
}
values
=
previous
.
get
(
cp
);
if
(
values
!=
null
)
{
values
.
remove
(
rule
);
}
}
@Override
...
...
@@ -181,7 +189,7 @@ public class DistributedStatisticStore implements StatisticStore {
return
SERIALIZER
.
decode
(
response
.
get
(
STATISTIC_STORE_TIMEOUT_MILLIS
,
TimeUnit
.
MILLISECONDS
));
}
catch
(
IOException
|
TimeoutException
e
)
{
// FIXME: throw a
Flow
StoreException
// FIXME: throw a
Stats
StoreException
throw
new
RuntimeException
(
e
);
}
}
...
...
@@ -200,7 +208,7 @@ public class DistributedStatisticStore implements StatisticStore {
}
else
{
ClusterMessage
message
=
new
ClusterMessage
(
clusterService
.
getLocalNode
().
id
(),
GET_
CURRENT
,
GET_
PREVIOUS
,
SERIALIZER
.
encode
(
connectPoint
));
try
{
...
...
@@ -209,7 +217,7 @@ public class DistributedStatisticStore implements StatisticStore {
return
SERIALIZER
.
decode
(
response
.
get
(
STATISTIC_STORE_TIMEOUT_MILLIS
,
TimeUnit
.
MILLISECONDS
));
}
catch
(
IOException
|
TimeoutException
e
)
{
// FIXME: throw a
Flow
StoreException
// FIXME: throw a
Stats
StoreException
throw
new
RuntimeException
(
e
);
}
}
...
...
@@ -283,7 +291,7 @@ public class DistributedStatisticStore implements StatisticStore {
public
synchronized
Set
<
FlowEntry
>
get
()
{
counter
.
set
(
rules
.
size
());
return
ImmutableSet
.
copyOf
(
rules
);
return
Sets
.
newHashSet
(
rules
);
}
...
...
core/store/serializers/src/main/java/org/onlab/onos/store/serializers/KryoNamespaces.java
View file @
f6c2ede
...
...
@@ -31,6 +31,7 @@ import org.onlab.onos.net.flow.DefaultFlowEntry;
import
org.onlab.onos.net.flow.DefaultFlowRule
;
import
org.onlab.onos.net.flow.DefaultTrafficSelector
;
import
org.onlab.onos.net.flow.DefaultTrafficTreatment
;
import
org.onlab.onos.net.flow.FlowEntry
;
import
org.onlab.onos.net.flow.FlowId
;
import
org.onlab.onos.net.flow.criteria.Criteria
;
import
org.onlab.onos.net.flow.criteria.Criterion
;
...
...
@@ -98,6 +99,7 @@ public final class KryoNamespaces {
DefaultHostDescription
.
class
,
DefaultFlowRule
.
class
,
DefaultFlowEntry
.
class
,
FlowEntry
.
FlowEntryState
.
class
,
FlowId
.
class
,
DefaultTrafficSelector
.
class
,
Criteria
.
PortCriterion
.
class
,
...
...
Please
register
or
login
to post a comment