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
Yuta HIGUCHI
2014-11-07 14:47:01 -0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
04c6b3f42948bd9649e3562d06884b23cc329f0e
04c6b3f4
1 parent
9bbaca3f
GDevStore: remove extra Map lookup
Change-Id: Ib7a234d0b0a69a7fbc7e8a75199ad58d52b7c411
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
10 deletions
core/store/dist/src/main/java/org/onlab/onos/store/device/impl/GossipDeviceStore.java
core/store/dist/src/main/java/org/onlab/onos/store/device/impl/GossipDeviceStore.java
View file @
04c6b3f
...
...
@@ -230,9 +230,10 @@ public class GossipDeviceStore
final
Timestamped
<
DeviceDescription
>
deltaDesc
=
new
Timestamped
<>(
deviceDescription
,
newTimestamp
);
final
DeviceEvent
event
;
final
Timestamped
<
DeviceDescription
>
mergedDesc
;
synchronized
(
getOrCreateDeviceDescriptionsMap
(
deviceId
))
{
final
Map
<
ProviderId
,
DeviceDescriptions
>
device
=
getOrCreateDeviceDescriptionsMap
(
deviceId
);
synchronized
(
device
)
{
event
=
createOrUpdateDeviceInternal
(
providerId
,
deviceId
,
deltaDesc
);
mergedDesc
=
getOrCreateDeviceDescriptionsMap
(
deviceId
)
.
get
(
providerId
).
getDeviceDesc
();
mergedDesc
=
device
.
get
(
providerId
).
getDeviceDesc
();
}
if
(
event
!=
null
)
{
log
.
info
(
"Notifying peers of a device update topology event for providerId: {} and deviceId: {}"
,
...
...
@@ -252,10 +253,10 @@ public class GossipDeviceStore
Timestamped
<
DeviceDescription
>
deltaDesc
)
{
// Collection of DeviceDescriptions for a Device
Map
<
ProviderId
,
DeviceDescriptions
>
providerDescs
Map
<
ProviderId
,
DeviceDescriptions
>
device
=
getOrCreateDeviceDescriptionsMap
(
deviceId
);
synchronized
(
providerDescs
)
{
synchronized
(
device
)
{
// locking per device
if
(
isDeviceRemoved
(
deviceId
,
deltaDesc
.
timestamp
()))
{
...
...
@@ -263,7 +264,7 @@ public class GossipDeviceStore
return
null
;
}
DeviceDescriptions
descs
=
getOrCreateProviderDeviceDescriptions
(
providerDescs
,
providerId
,
deltaDesc
);
DeviceDescriptions
descs
=
getOrCreateProviderDeviceDescriptions
(
device
,
providerId
,
deltaDesc
);
final
Device
oldDevice
=
devices
.
get
(
deviceId
);
final
Device
newDevice
;
...
...
@@ -272,7 +273,7 @@ public class GossipDeviceStore
deltaDesc
.
isNewer
(
descs
.
getDeviceDesc
()))
{
// on new device or valid update
descs
.
putDeviceDesc
(
deltaDesc
);
newDevice
=
composeDevice
(
deviceId
,
providerDescs
);
newDevice
=
composeDevice
(
deviceId
,
device
);
}
else
{
// outdated event, ignored.
return
null
;
...
...
@@ -444,9 +445,10 @@ public class GossipDeviceStore
final
List
<
DeviceEvent
>
events
;
final
Timestamped
<
List
<
PortDescription
>>
merged
;
synchronized
(
getOrCreateDeviceDescriptionsMap
(
deviceId
))
{
final
Map
<
ProviderId
,
DeviceDescriptions
>
device
=
getOrCreateDeviceDescriptionsMap
(
deviceId
);
synchronized
(
device
)
{
events
=
updatePortsInternal
(
providerId
,
deviceId
,
timestampedInput
);
final
DeviceDescriptions
descs
=
getOrCreateDeviceDescriptionsMap
(
deviceId
)
.
get
(
providerId
);
final
DeviceDescriptions
descs
=
device
.
get
(
providerId
);
List
<
PortDescription
>
mergedList
=
FluentIterable
.
from
(
portDescriptions
)
.
transform
(
new
Function
<
PortDescription
,
PortDescription
>()
{
...
...
@@ -632,9 +634,10 @@ public class GossipDeviceStore
=
new
Timestamped
<>(
portDescription
,
newTimestamp
);
final
DeviceEvent
event
;
final
Timestamped
<
PortDescription
>
mergedDesc
;
synchronized
(
getOrCreateDeviceDescriptionsMap
(
deviceId
))
{
final
Map
<
ProviderId
,
DeviceDescriptions
>
device
=
getOrCreateDeviceDescriptionsMap
(
deviceId
);
synchronized
(
device
)
{
event
=
updatePortStatusInternal
(
providerId
,
deviceId
,
deltaDesc
);
mergedDesc
=
getOrCreateDeviceDescriptionsMap
(
deviceId
)
.
get
(
providerId
)
mergedDesc
=
device
.
get
(
providerId
)
.
getPortDesc
(
portDescription
.
portNumber
());
}
if
(
event
!=
null
)
{
...
...
Please
register
or
login
to post a comment