You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by zh...@apache.org on 2016/12/02 00:15:09 UTC
incubator-geode git commit: GEODE-2161: avoid unnecessary byte copy
of hdos.
Repository: incubator-geode
Updated Branches:
refs/heads/develop fdd616688 -> 44278d165
GEODE-2161: avoid unnecessary byte copy of hdos.
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/44278d16
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/44278d16
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/44278d16
Branch: refs/heads/develop
Commit: 44278d165750d211a055d19e6e69ec21bb73edd9
Parents: fdd6166
Author: zhouxh <gz...@pivotal.io>
Authored: Thu Dec 1 10:18:15 2016 -0800
Committer: zhouxh <gz...@pivotal.io>
Committed: Thu Dec 1 16:15:15 2016 -0800
----------------------------------------------------------------------
.../geode/internal/cache/FilterRoutingInfo.java | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/44278d16/geode-core/src/main/java/org/apache/geode/internal/cache/FilterRoutingInfo.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/FilterRoutingInfo.java b/geode-core/src/main/java/org/apache/geode/internal/cache/FilterRoutingInfo.java
index b3cf2e4..279a4d1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/FilterRoutingInfo.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/FilterRoutingInfo.java
@@ -389,8 +389,12 @@ public class FilterRoutingInfo implements VersionedDataSerializable {
}
InternalDataSerializer.writeSetOfLongs(this.interestedClients, this.longIDs, hdos);
InternalDataSerializer.writeSetOfLongs(this.interestedClientsInv, this.longIDs, hdos);
- byte[] myData = hdos.toByteArray();
- DataSerializer.writeByteArray(myData, out);
+ if (out instanceof HeapDataOutputStream) {
+ ((HeapDataOutputStream) out).writeAsSerializedByteArray(hdos);
+ } else {
+ byte[] myData = hdos.toByteArray();
+ DataSerializer.writeByteArray(myData, out);
+ }
}
@@ -424,8 +428,12 @@ public class FilterRoutingInfo implements VersionedDataSerializable {
}
InternalDataSerializer.writeSetOfLongs(this.interestedClients, this.longIDs, hdos);
InternalDataSerializer.writeSetOfLongs(this.interestedClientsInv, this.longIDs, hdos);
- byte[] myData = hdos.toByteArray();
- DataSerializer.writeByteArray(myData, out);
+ if (out instanceof HeapDataOutputStream) {
+ ((HeapDataOutputStream) out).writeAsSerializedByteArray(hdos);
+ } else {
+ byte[] myData = hdos.toByteArray();
+ DataSerializer.writeByteArray(myData, out);
+ }
} else {
DataSerializer.writeHashMap(this.cqs, out);
InternalDataSerializer.writeSetOfLongs(this.interestedClients, this.longIDs, out);