You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2015/10/27 10:08:36 UTC
[2/2] ignite git commit: IGNITE-1770: Refactoring.
IGNITE-1770: Refactoring.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/7bc3f2ff
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/7bc3f2ff
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/7bc3f2ff
Branch: refs/heads/ignite-1770
Commit: 7bc3f2ff5e19bf2210b01e375c097a04907160fb
Parents: a21f12b
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Oct 27 12:09:19 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Oct 27 12:09:19 2015 +0300
----------------------------------------------------------------------
.../ignite/internal/portable/PortableUtils.java | 19 +++++++++++++++----
.../portable/builder/PortableBuilderImpl.java | 4 ++--
2 files changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/7bc3f2ff/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableUtils.java
index f077293..5dc7d22 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableUtils.java
@@ -574,12 +574,12 @@ public class PortableUtils {
* @param start Object start position inside the stream.
* @return Footer start.
*/
- public static int footerStart(PortablePositionReadable in, int start) {
+ public static int footerStartRelative(PortablePositionReadable in, int start) {
int schemaId = in.readIntPositioned(start + GridPortableMarshaller.SCHEMA_ID_POS);
if (schemaId == 0)
// No schema, footer start equals to object end.
- return in.readIntPositioned(start + GridPortableMarshaller.TOTAL_LEN_POS);
+ return length(in, start);
else
// Schema exists, use offset.
return in.readIntPositioned(start + GridPortableMarshaller.SCHEMA_OR_RAW_OFF_POS);
@@ -590,10 +590,21 @@ public class PortableUtils {
*
* @param in Input stream.
* @param start Start position.
+ * @return Footer start.
+ */
+ public static int footerStartAbsolute(PortablePositionReadable in, int start) {
+ return footerStartRelative(in, start) + start;
+ }
+
+ /**
+ * Get object's footer.
+ *
+ * @param in Input stream.
+ * @param start Start position.
* @return Footer.
*/
public static IgniteBiTuple<Integer, Integer> footerAbsolute(PortablePositionReadable in, int start) {
- int footerStart = footerStart(in, start);
+ int footerStart = footerStartRelative(in, start);
int footerEnd = length(in, start);
// Take in count possible raw offset.
@@ -611,7 +622,7 @@ public class PortableUtils {
* @return Raw offset.
*/
public static int rawOffsetAbsolute(PortablePositionReadable in, int start) {
- int len = in.readIntPositioned(start + GridPortableMarshaller.TOTAL_LEN_POS);
+ int len = length(in, start);
int schemaId = in.readIntPositioned(start + GridPortableMarshaller.SCHEMA_ID_POS);
if (schemaId == 0)
http://git-wip-us.apache.org/repos/asf/ignite/blob/7bc3f2ff/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java
index da9f86f..d703b15 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java
@@ -379,7 +379,7 @@ public class PortableBuilderImpl implements PortableBuilder {
if (reader != null) {
// Write raw data if any.
int rawOff = PortableUtils.rawOffsetAbsolute(reader, start);
- int footerStart = start + PortableUtils.footerStart(reader, start);
+ int footerStart = PortableUtils.footerStartAbsolute(reader, start);
if (rawOff < footerStart) {
writer.rawWriter();
@@ -388,7 +388,7 @@ public class PortableBuilderImpl implements PortableBuilder {
}
// Shift reader to the end of the object.
- reader.position(start + reader.readIntPositioned(start + GridPortableMarshaller.TOTAL_LEN_POS));
+ reader.position(start + PortableUtils.length(reader, start));
}
writer.postWrite();