You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vk...@apache.org on 2015/08/27 02:11:57 UTC
[32/59] [abbrv] ignite git commit: Moving platform classes to
"...internal.processors..." package to follow Ignite common approach.
Moving platform classes to "...internal.processors..." package to follow Ignite common approach.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2225f8d2
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2225f8d2
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2225f8d2
Branch: refs/heads/ignite-884
Commit: 2225f8d2aeb8836ad2bf0573584b3affd7b4aecc
Parents: c47a706
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Wed Aug 26 09:36:44 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Aug 26 09:36:44 2015 +0300
----------------------------------------------------------------------
.../internal/platform/PlatformBootstrap.java | 36 -
.../platform/PlatformBootstrapFactory.java | 37 -
.../internal/platform/PlatformException.java | 71 --
.../internal/platform/PlatformIgnition.java | 187 ----
.../platform/PlatformNoCallbackException.java | 50 --
.../callback/PlatformCallbackGateway.java | 869 -------------------
.../callback/PlatformCallbackUtils.java | 468 ----------
.../platform/memory/PlatformAbstractMemory.java | 121 ---
.../PlatformBigEndianInputStreamImpl.java | 126 ---
.../PlatformBigEndianOutputStreamImpl.java | 162 ----
.../platform/memory/PlatformExternalMemory.java | 55 --
.../platform/memory/PlatformInputStream.java | 30 -
.../memory/PlatformInputStreamImpl.java | 323 -------
.../platform/memory/PlatformMemory.java | 77 --
.../platform/memory/PlatformMemoryManager.java | 46 -
.../memory/PlatformMemoryManagerImpl.java | 83 --
.../platform/memory/PlatformMemoryPool.java | 133 ---
.../platform/memory/PlatformMemoryUtils.java | 468 ----------
.../platform/memory/PlatformOutputStream.java | 30 -
.../memory/PlatformOutputStreamImpl.java | 259 ------
.../platform/memory/PlatformPooledMemory.java | 63 --
.../platform/memory/PlatformUnpooledMemory.java | 51 --
.../platform/utils/PlatformReaderBiClosure.java | 34 -
.../platform/utils/PlatformReaderClosure.java | 34 -
.../platform/utils/PlatformWriterBiClosure.java | 34 -
.../platform/utils/PlatformWriterClosure.java | 33 -
.../processors/platform/PlatformBootstrap.java | 36 +
.../platform/PlatformBootstrapFactory.java | 37 +
.../processors/platform/PlatformException.java | 71 ++
.../processors/platform/PlatformIgnition.java | 186 ++++
.../platform/PlatformNoCallbackException.java | 50 ++
.../callback/PlatformCallbackGateway.java | 869 +++++++++++++++++++
.../callback/PlatformCallbackUtils.java | 468 ++++++++++
.../platform/memory/PlatformAbstractMemory.java | 121 +++
.../PlatformBigEndianInputStreamImpl.java | 126 +++
.../PlatformBigEndianOutputStreamImpl.java | 162 ++++
.../platform/memory/PlatformExternalMemory.java | 55 ++
.../platform/memory/PlatformInputStream.java | 30 +
.../memory/PlatformInputStreamImpl.java | 323 +++++++
.../platform/memory/PlatformMemory.java | 77 ++
.../platform/memory/PlatformMemoryManager.java | 46 +
.../memory/PlatformMemoryManagerImpl.java | 83 ++
.../platform/memory/PlatformMemoryPool.java | 133 +++
.../platform/memory/PlatformMemoryUtils.java | 468 ++++++++++
.../platform/memory/PlatformOutputStream.java | 30 +
.../memory/PlatformOutputStreamImpl.java | 259 ++++++
.../platform/memory/PlatformPooledMemory.java | 63 ++
.../platform/memory/PlatformUnpooledMemory.java | 51 ++
.../platform/utils/PlatformReaderBiClosure.java | 34 +
.../platform/utils/PlatformReaderClosure.java | 34 +
.../platform/utils/PlatformWriterBiClosure.java | 34 +
.../platform/utils/PlatformWriterClosure.java | 33 +
52 files changed, 3879 insertions(+), 3880 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2225f8d2/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformBootstrap.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformBootstrap.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformBootstrap.java
deleted file mode 100644
index faee665..0000000
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformBootstrap.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.platform;
-
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.internal.processors.platform.*;
-
-/**
- * Platform bootstrap. Responsible for starting Ignite node with non-Java platform.
- */
-public interface PlatformBootstrap {
- /**
- * Start Ignite node.
- *
- * @param cfg Configuration.
- * @param envPtr Environment pointer.
- * @param dataPtr Optional pointer to additional data required for startup.
- * @return Platform processor.
- */
- public PlatformProcessor start(IgniteConfiguration cfg, long envPtr, long dataPtr);
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2225f8d2/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformBootstrapFactory.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformBootstrapFactory.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformBootstrapFactory.java
deleted file mode 100644
index 31d1ca5..0000000
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformBootstrapFactory.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.platform;
-
-/**
- * Platform bootstrap factory.
- */
-public interface PlatformBootstrapFactory {
- /**
- * Get bootstrap factory ID.
- *
- * @return ID.
- */
- public int id();
-
- /**
- * Create bootstrap instance.
- *
- * @return Bootstrap instance.
- */
- public PlatformBootstrap create();
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2225f8d2/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformException.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformException.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformException.java
deleted file mode 100644
index d0bf565..0000000
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformException.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.platform;
-
-import org.apache.ignite.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
-import org.jetbrains.annotations.*;
-
-/**
- * Interop checked exception.
- */
-public class PlatformException extends IgniteCheckedException {
- /** */
- private static final long serialVersionUID = 0L;
-
- /**
- * Create empty exception.
- */
- public PlatformException() {
- // No-op.
- }
-
- /**
- * Creates new exception with given error message.
- *
- * @param msg Error message.
- */
- public PlatformException(String msg) {
- super(msg);
- }
-
- /**
- * Creates new grid exception with given throwable as a cause and
- * source of error message.
- *
- * @param cause Non-null throwable cause.
- */
- public PlatformException(Throwable cause) {
- this(cause.getMessage(), cause);
- }
-
- /**
- * Creates new exception with given error message and optional nested exception.
- *
- * @param msg Error message.
- * @param cause Optional nested exception (can be {@code null}).
- */
- public PlatformException(String msg, @Nullable Throwable cause) {
- super(msg, cause);
- }
-
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(PlatformException.class, this);
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2225f8d2/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformIgnition.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformIgnition.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformIgnition.java
deleted file mode 100644
index 2d31307..0000000
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformIgnition.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.platform;
-
-import org.apache.ignite.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.internal.*;
-import org.apache.ignite.internal.processors.platform.*;
-import org.apache.ignite.internal.processors.resource.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
-import org.apache.ignite.lang.*;
-import org.jetbrains.annotations.*;
-
-import java.net.*;
-import java.security.*;
-import java.util.*;
-
-/**
- * Entry point for platform nodes.
- */
-@SuppressWarnings("UnusedDeclaration")
-public class PlatformIgnition {
- /** Map with active instances. */
- private static final HashMap<String, PlatformProcessor> instances = new HashMap<>();
-
- /**
- * Start Ignite node in platform mode.
- *
- * @param springCfgPath Spring configuration path.
- * @param gridName Grid name.
- * @param factoryId Factory ID.
- * @param envPtr Environment pointer.
- * @param dataPtr Optional pointer to additional data required for startup.
- * @return Ignite instance.
- */
- public static synchronized PlatformProcessor start(@Nullable String springCfgPath, @Nullable String gridName,
- int factoryId, long envPtr, long dataPtr) {
- if (envPtr <= 0)
- throw new IgniteException("Environment pointer must be positive.");
-
- ClassLoader oldClsLdr = Thread.currentThread().getContextClassLoader();
-
- Thread.currentThread().setContextClassLoader(PlatformProcessor.class.getClassLoader());
-
- try {
- IgniteConfiguration cfg = configuration(springCfgPath);
-
- if (gridName != null)
- cfg.setGridName(gridName);
- else
- gridName = cfg.getGridName();
-
- PlatformBootstrap bootstrap = bootstrap(factoryId);
-
- PlatformProcessor proc = bootstrap.start(cfg, envPtr, dataPtr);
-
- PlatformProcessor old = instances.put(gridName, proc);
-
- assert old == null;
-
- return proc;
- }
- finally {
- Thread.currentThread().setContextClassLoader(oldClsLdr);
- }
- }
-
- /**
- * Get instance by environment pointer.
- *
- * @param gridName Grid name.
- * @return Instance or {@code null} if it doesn't exist (never started or stopped).
- */
- @Nullable public static synchronized PlatformProcessor instance(@Nullable String gridName) {
- return instances.get(gridName);
- }
-
- /**
- * Get environment pointer of the given instance.
- *
- * @param gridName Grid name.
- * @return Environment pointer or {@code 0} in case grid with such name doesn't exist.
- */
- public static synchronized long environmentPointer(@Nullable String gridName) {
- PlatformProcessor proc = instance(gridName);
-
- return proc != null ? proc.environmentPointer() : 0;
- }
-
- /**
- * Stop single instance.
- *
- * @param gridName Grid name,
- * @param cancel Cancel flag.
- * @return {@code True} if instance was found and stopped.
- */
- public static synchronized boolean stop(@Nullable String gridName, boolean cancel) {
- if (Ignition.stop(gridName, cancel)) {
- PlatformProcessor old = instances.remove(gridName);
-
- assert old != null;
-
- return true;
- }
- else
- return false;
- }
-
- /**
- * Stop all instances.
- *
- * @param cancel Cancel flag.
- */
- public static synchronized void stopAll(boolean cancel) {
- for (PlatformProcessor proc : instances.values())
- Ignition.stop(proc.ignite().name(), cancel);
-
- instances.clear();
- }
-
- /**
- * Create configuration.
- *
- * @param springCfgPath Path to Spring XML.
- * @return Configuration.
- */
- private static IgniteConfiguration configuration(@Nullable String springCfgPath) {
- try {
- URL url = springCfgPath == null ? U.resolveIgniteUrl(IgnitionEx.DFLT_CFG) :
- U.resolveSpringUrl(springCfgPath);
-
- IgniteBiTuple<IgniteConfiguration, GridSpringResourceContext> t = IgnitionEx.loadConfiguration(url);
-
- return t.get1();
- }
- catch (IgniteCheckedException e) {
- throw new IgniteException("Failed to instantiate configuration from Spring XML: " + springCfgPath, e);
- }
- }
-
- /**
- * Create bootstrap for the given factory ID.
- *
- * @param factoryId Factory ID.
- * @return Bootstrap.
- */
- private static PlatformBootstrap bootstrap(final int factoryId) {
- PlatformBootstrapFactory factory = AccessController.doPrivileged(
- new PrivilegedAction<PlatformBootstrapFactory>() {
- @Override public PlatformBootstrapFactory run() {
- for (PlatformBootstrapFactory factory : ServiceLoader.load(PlatformBootstrapFactory.class)) {
- if (factory.id() == factoryId)
- return factory;
- }
-
- return null;
- }
- });
-
- if (factory == null)
- throw new IgniteException("Interop factory is not found (did you put into the classpath?): " + factoryId);
-
- return factory.create();
- }
-
- /**
- * Private constructor.
- */
- private PlatformIgnition() {
- // No-op.
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2225f8d2/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformNoCallbackException.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformNoCallbackException.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformNoCallbackException.java
deleted file mode 100644
index 893c332..0000000
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/PlatformNoCallbackException.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.platform;
-
-import org.apache.ignite.internal.util.typedef.internal.*;
-
-/**
- * Exception raised when interop callback is not set in native platform.
- */
-@SuppressWarnings("UnusedDeclaration")
-public class PlatformNoCallbackException extends PlatformException {
- /** */
- private static final long serialVersionUID = 0L;
-
- /**
- * Constructor.
- */
- public PlatformNoCallbackException() {
- // No-op.
- }
-
- /**
- * Constructor.
- *
- * @param msg Message.
- */
- public PlatformNoCallbackException(String msg) {
- super(msg);
- }
-
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(PlatformNoCallbackException.class, this);
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2225f8d2/modules/platform/src/main/java/org/apache/ignite/internal/platform/callback/PlatformCallbackGateway.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/callback/PlatformCallbackGateway.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/callback/PlatformCallbackGateway.java
deleted file mode 100644
index d565c00..0000000
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/callback/PlatformCallbackGateway.java
+++ /dev/null
@@ -1,869 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.platform.callback;
-
-import org.apache.ignite.*;
-import org.apache.ignite.internal.util.*;
-
-/**
- * Gateway to all platform-dependent callbacks. Implementers might extend this class and provide additional callbacks.
- */
-@SuppressWarnings({"FieldCanBeLocal", "UnusedDeclaration"})
-public class PlatformCallbackGateway {
- /** Environment pointer. */
- protected final long envPtr;
-
- /** Lock. */
- private final GridSpinReadWriteLock lock = new GridSpinReadWriteLock();
-
- /**
- * Native gateway.
- *
- * @param envPtr Environment pointer.
- */
- public PlatformCallbackGateway(long envPtr) {
- this.envPtr = envPtr;
- }
-
- /**
- * Get environment pointer.
- *
- * @return Environment pointer.
- */
- public long environmentPointer() {
- return envPtr;
- }
-
- /**
- * Create cache store.
- *
- * @param memPtr Memory pointer.
- * @return Pointer.
- */
- public long cacheStoreCreate(long memPtr) {
- enter();
-
- try {
- return PlatformCallbackUtils.cacheStoreCreate(envPtr, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * @param objPtr Object pointer.
- * @param memPtr Memory pointer.
- * @param cb Callback.
- * @return Result.
- */
- public int cacheStoreInvoke(long objPtr, long memPtr, Object cb) {
- enter();
-
- try {
- return PlatformCallbackUtils.cacheStoreInvoke(envPtr, objPtr, memPtr, cb);
- }
- finally {
- leave();
- }
- }
-
- /**
- * @param objPtr Object pointer.
- */
- public void cacheStoreDestroy(long objPtr) {
- enter();
-
- try {
- PlatformCallbackUtils.cacheStoreDestroy(envPtr, objPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Creates cache store session.
- *
- * @param storePtr Store instance pointer.
- * @return Session instance pointer.
- */
- public long cacheStoreSessionCreate(long storePtr) {
- enter();
-
- try {
- return PlatformCallbackUtils.cacheStoreSessionCreate(envPtr, storePtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Creates cache entry filter and returns a pointer.
- *
- * @param memPtr Memory pointer.
- * @return Pointer.
- */
- public long cacheEntryFilterCreate(long memPtr) {
- enter();
-
- try {
- return PlatformCallbackUtils.cacheEntryFilterCreate(envPtr, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * @param ptr Pointer.
- * @param memPtr Memory pointer.
- * @return Result.
- */
- public int cacheEntryFilterApply(long ptr, long memPtr) {
- enter();
-
- try {
- return PlatformCallbackUtils.cacheEntryFilterApply(envPtr, ptr, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * @param ptr Pointer.
- */
- public void cacheEntryFilterDestroy(long ptr) {
- enter();
-
- try {
- PlatformCallbackUtils.cacheEntryFilterDestroy(envPtr, ptr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Invoke cache entry processor.
- *
- * @param outMemPtr Output memory pointer.
- * @param inMemPtr Input memory pointer.
- */
- public void cacheInvoke(long outMemPtr, long inMemPtr) {
- enter();
-
- try {
- PlatformCallbackUtils.cacheInvoke(envPtr, outMemPtr, inMemPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Perform native task map. Do not throw exceptions, serializing them to the output stream instead.
- *
- * @param taskPtr Task pointer.
- * @param outMemPtr Output memory pointer (exists if topology changed, otherwise {@code 0}).
- * @param inMemPtr Input memory pointer.
- */
- public void computeTaskMap(long taskPtr, long outMemPtr, long inMemPtr) {
- enter();
-
- try {
- PlatformCallbackUtils.computeTaskMap(envPtr, taskPtr, outMemPtr, inMemPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Perform native task job result notification.
- *
- * @param taskPtr Task pointer.
- * @param jobPtr Job pointer.
- * @param memPtr Memory pointer (always zero for local job execution).
- * @return Job result enum ordinal.
- */
- public int computeTaskJobResult(long taskPtr, long jobPtr, long memPtr) {
- enter();
-
- try {
- return PlatformCallbackUtils.computeTaskJobResult(envPtr, taskPtr, jobPtr, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Perform native task reduce.
- *
- * @param taskPtr Task pointer.
- */
- public void computeTaskReduce(long taskPtr) {
- enter();
-
- try {
- PlatformCallbackUtils.computeTaskReduce(envPtr, taskPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Complete task with native error.
- *
- * @param taskPtr Task pointer.
- * @param memPtr Memory pointer with exception data or {@code 0} in case of success.
- */
- public void computeTaskComplete(long taskPtr, long memPtr) {
- enter();
-
- try {
- PlatformCallbackUtils.computeTaskComplete(envPtr, taskPtr, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Serialize native job.
- *
- * @param jobPtr Job pointer.
- * @param memPtr Memory pointer.
- * @return {@code True} if serialization succeeded.
- */
- public int computeJobSerialize(long jobPtr, long memPtr) {
- enter();
-
- try {
- return PlatformCallbackUtils.computeJobSerialize(envPtr, jobPtr, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Create job in native platform.
- *
- * @param memPtr Memory pointer.
- * @return Pointer to job.
- */
- public long computeJobCreate(long memPtr) {
- enter();
-
- try {
- return PlatformCallbackUtils.computeJobCreate(envPtr, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Execute native job on a node other than where it was created.
- *
- * @param jobPtr Job pointer.
- * @param cancel Cancel flag.
- * @param memPtr Memory pointer to write result to for remote job execution or {@code 0} for local job execution.
- */
- public void computeJobExecute(long jobPtr, int cancel, long memPtr) {
- enter();
-
- try {
- PlatformCallbackUtils.computeJobExecute(envPtr, jobPtr, cancel, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Cancel the job.
- *
- * @param jobPtr Job pointer.
- */
- public void computeJobCancel(long jobPtr) {
- enter();
-
- try {
- PlatformCallbackUtils.computeJobCancel(envPtr, jobPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Destroy the job.
- *
- * @param ptr Pointer.
- */
- public void computeJobDestroy(long ptr) {
- enter();
-
- try {
- PlatformCallbackUtils.computeJobDestroy(envPtr, ptr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Invoke local callback.
- *
- * @param cbPtr Callback pointer.
- * @param memPtr Memory pointer.
- */
- public void continuousQueryListenerApply(long cbPtr, long memPtr) {
- enter();
-
- try {
- PlatformCallbackUtils.continuousQueryListenerApply(envPtr, cbPtr, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Create filter in native platform.
- *
- * @param memPtr Memory pointer.
- * @return Pointer to created filter.
- */
- public long continuousQueryFilterCreate(long memPtr) {
- enter();
-
- try {
- return PlatformCallbackUtils.continuousQueryFilterCreate(envPtr, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Invoke remote filter.
- *
- * @param filterPtr Filter pointer.
- * @param memPtr Memory pointer.
- * @return Result.
- */
- public int continuousQueryFilterApply(long filterPtr, long memPtr) {
- enter();
-
- try {
- return PlatformCallbackUtils.continuousQueryFilterApply(envPtr, filterPtr, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Release remote filter.
- *
- * @param filterPtr Filter pointer.
- */
- public void continuousQueryFilterRelease(long filterPtr) {
- enter();
-
- try {
- PlatformCallbackUtils.continuousQueryFilterRelease(envPtr, filterPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Notify native data streamer about topology update.
- *
- * @param ptr Data streamer native pointer.
- * @param topVer Topology version.
- * @param topSize Topology size.
- */
- public void dataStreamerTopologyUpdate(long ptr, long topVer, int topSize) {
- enter();
-
- try {
- PlatformCallbackUtils.dataStreamerTopologyUpdate(envPtr, ptr, topVer, topSize);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Invoke stream receiver.
- *
- * @param ptr Receiver native pointer.
- * @param cache Cache object.
- * @param memPtr Stream pointer.
- * @param keepPortable Portable flag.
- */
- public void dataStreamerStreamReceiverInvoke(long ptr, Object cache, long memPtr, boolean keepPortable) {
- enter();
-
- try {
- PlatformCallbackUtils.dataStreamerStreamReceiverInvoke(envPtr, ptr, cache, memPtr, keepPortable);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Notify future with byte result.
- *
- * @param futPtr Future pointer.
- * @param res Result.
- */
- public void futureByteResult(long futPtr, int res) {
- enter();
-
- try {
- PlatformCallbackUtils.futureByteResult(envPtr, futPtr, res);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Notify future with boolean result.
- *
- * @param futPtr Future pointer.
- * @param res Result.
- */
- public void futureBoolResult(long futPtr, int res) {
- enter();
-
- try {
- PlatformCallbackUtils.futureBoolResult(envPtr, futPtr, res);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Notify future with short result.
- *
- * @param futPtr Future pointer.
- * @param res Result.
- */
- public void futureShortResult(long futPtr, int res) {
- enter();
-
- try {
- PlatformCallbackUtils.futureShortResult(envPtr, futPtr, res);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Notify future with byte result.
- *
- * @param futPtr Future pointer.
- * @param res Result.
- */
- public void futureCharResult(long futPtr, int res) {
- enter();
-
- try {
- PlatformCallbackUtils.futureCharResult(envPtr, futPtr, res);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Notify future with int result.
- *
- * @param futPtr Future pointer.
- * @param res Result.
- */
- public void futureIntResult(long futPtr, int res) {
- enter();
-
- try {
- PlatformCallbackUtils.futureIntResult(envPtr, futPtr, res);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Notify future with float result.
- *
- * @param futPtr Future pointer.
- * @param res Result.
- */
- public void futureFloatResult(long futPtr, float res) {
- enter();
-
- try {
- PlatformCallbackUtils.futureFloatResult(envPtr, futPtr, res);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Notify future with long result.
- *
- * @param futPtr Future pointer.
- * @param res Result.
- */
- public void futureLongResult(long futPtr, long res) {
- enter();
-
- try {
- PlatformCallbackUtils.futureLongResult(envPtr, futPtr, res);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Notify future with double result.
- *
- * @param futPtr Future pointer.
- * @param res Result.
- */
- public void futureDoubleResult(long futPtr, double res) {
- enter();
-
- try {
- PlatformCallbackUtils.futureDoubleResult(envPtr, futPtr, res);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Notify future with object result.
- *
- * @param futPtr Future pointer.
- * @param memPtr Memory pointer.
- */
- public void futureObjectResult(long futPtr, long memPtr) {
- enter();
-
- try {
- PlatformCallbackUtils.futureObjectResult(envPtr, futPtr, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Notify future with null result.
- *
- * @param futPtr Future pointer.
- */
- public void futureNullResult(long futPtr) {
- enter();
-
- try {
- PlatformCallbackUtils.futureNullResult(envPtr, futPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Notify future with error.
- *
- * @param futPtr Future pointer.
- * @param memPtr Pointer to memory with error information.
- */
- public void futureError(long futPtr, long memPtr) {
- enter();
-
- try {
- PlatformCallbackUtils.futureError(envPtr, futPtr, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Creates message filter and returns a pointer.
- *
- * @param memPtr Memory pointer.
- * @return Pointer.
- */
- public long messagingFilterCreate(long memPtr) {
- enter();
-
- try {
- return PlatformCallbackUtils.messagingFilterCreate(envPtr, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * @param ptr Pointer.
- * @param memPtr Memory pointer.
- * @return Result.
- */
- public int messagingFilterApply(long ptr, long memPtr) {
- enter();
-
- try {
- return PlatformCallbackUtils.messagingFilterApply(envPtr, ptr, memPtr);
- }
- finally {
- leave();
- }}
-
- /**
- * @param ptr Pointer.
- */
- public void messagingFilterDestroy(long ptr) {
- enter();
-
- try {
- PlatformCallbackUtils.messagingFilterDestroy(envPtr, ptr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Creates event filter and returns a pointer.
- *
- * @param memPtr Memory pointer.
- * @return Pointer.
- */
- public long eventFilterCreate(long memPtr) {
- enter();
-
- try {
- return PlatformCallbackUtils.eventFilterCreate(envPtr, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * @param ptr Pointer.
- * @param memPtr Memory pointer.
- * @return Result.
- */
- public int eventFilterApply(long ptr, long memPtr) {
- enter();
-
- try {
- return PlatformCallbackUtils.eventFilterApply(envPtr, ptr, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * @param ptr Pointer.
- */
- public void eventFilterDestroy(long ptr) {
- enter();
-
- try {
- PlatformCallbackUtils.eventFilterDestroy(envPtr, ptr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Sends node info to native target.
- *
- * @param memPtr Ptr to a stream with serialized node.
- */
- public void nodeInfo(long memPtr) {
- enter();
-
- try {
- PlatformCallbackUtils.nodeInfo(envPtr, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Kernal start callback.
- *
- * @param memPtr Memory pointer.
- */
- public void onStart(long memPtr) {
- enter();
-
- try {
- PlatformCallbackUtils.onStart(envPtr, memPtr);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Lifecycle event callback.
- *
- * @param ptr Holder pointer.
- * @param evt Event.
- */
- public void lifecycleEvent(long ptr, int evt) {
- enter();
-
- try {
- PlatformCallbackUtils.lifecycleEvent(envPtr, ptr, evt);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Re-allocate external memory chunk.
- *
- * @param memPtr Cross-platform pointer.
- * @param cap Capacity.
- */
- public void memoryReallocate(long memPtr, int cap) {
- enter();
-
- try {
- PlatformCallbackUtils.memoryReallocate(envPtr, memPtr, cap);
- }
- finally {
- leave();
- }
- }
-
- /**
- * Initializes native service.
- *
- * @param memPtr Pointer.
- * @throws org.apache.ignite.IgniteCheckedException In case of error.
- */
- public long serviceInit(long memPtr) throws IgniteCheckedException {
- return PlatformCallbackUtils.serviceInit(envPtr, memPtr);
- }
-
- /**
- * Executes native service.
- *
- * @param svcPtr Pointer to the service in the native platform.
- * @param memPtr Stream pointer.
- * @throws org.apache.ignite.IgniteCheckedException In case of error.
- */
- public void serviceExecute(long svcPtr, long memPtr) throws IgniteCheckedException {
- PlatformCallbackUtils.serviceExecute(envPtr, svcPtr, memPtr);
- }
-
- /**
- * Cancels native service.
- *
- * @param svcPtr Pointer to the service in the native platform.
- * @param memPtr Stream pointer.
- * @throws org.apache.ignite.IgniteCheckedException In case of error.
- */
- public void serviceCancel(long svcPtr, long memPtr) throws IgniteCheckedException {
- PlatformCallbackUtils.serviceCancel(envPtr, svcPtr, memPtr);
- }
-
- /**
- * Invokes service method.
- *
- * @param svcPtr Pointer to the service in the native platform.
- * @param outMemPtr Output memory pointer.
- * @param inMemPtr Input memory pointer.
- * @throws org.apache.ignite.IgniteCheckedException In case of error.
- */
- public void serviceInvokeMethod(long svcPtr, long outMemPtr, long inMemPtr) throws IgniteCheckedException {
- PlatformCallbackUtils.serviceInvokeMethod(envPtr, svcPtr, outMemPtr, inMemPtr);
- }
-
- /**
- * Invokes cluster node filter.
- *
- * @param memPtr Stream pointer.
- */
- public int clusterNodeFilterApply(long memPtr) {
- return PlatformCallbackUtils.clusterNodeFilterApply(envPtr, memPtr);
- }
-
- /**
- * Kernal stop callback.
- */
- public void onStop() {
- block();
-
- PlatformCallbackUtils.onStop(envPtr);
- }
-
- /**
- * Enter gateway.
- */
- protected void enter() {
- if (!lock.tryReadLock())
- throw new IgniteException("Failed to execute native callback because grid is stopping.");
- }
-
- /**
- * Leave gateway.
- */
- protected void leave() {
- lock.readUnlock();
- }
-
- /**
- * Block gateway.
- */
- protected void block() {
- lock.writeLock();
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2225f8d2/modules/platform/src/main/java/org/apache/ignite/internal/platform/callback/PlatformCallbackUtils.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/callback/PlatformCallbackUtils.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/callback/PlatformCallbackUtils.java
deleted file mode 100644
index d81ce68..0000000
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/callback/PlatformCallbackUtils.java
+++ /dev/null
@@ -1,468 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.platform.callback;
-
-/**
- * Platform callback utility methods. Implemented in target platform. All methods in this class must be
- * package-visible and invoked only through {@link PlatformCallbackGateway}.
- */
-public class PlatformCallbackUtils {
- /**
- * Create cache store.
- *
- * @param envPtr Environment pointer.
- * @param memPtr Memory pointer.
- * @return Pointer.
- */
- static native long cacheStoreCreate(long envPtr, long memPtr);
-
- /**
- * @param envPtr Environment pointer.
- * @param objPtr Object pointer.
- * @param memPtr Memory pointer.
- * @param cb Callback.
- * @return Result.
- */
- static native int cacheStoreInvoke(long envPtr, long objPtr, long memPtr, Object cb);
-
- /**
- * @param envPtr Environment pointer.
- * @param objPtr Object pointer.
- */
- static native void cacheStoreDestroy(long envPtr, long objPtr);
-
- /**
- * Creates cache store session.
- *
- * @param envPtr Environment pointer.
- * @param storePtr Store instance pointer.
- * @return Session instance pointer.
- */
- static native long cacheStoreSessionCreate(long envPtr, long storePtr);
-
- /**
- * Creates cache entry filter and returns a pointer.
- *
- * @param envPtr Environment pointer.
- * @param memPtr Memory pointer.
- * @return Pointer.
- */
- static native long cacheEntryFilterCreate(long envPtr, long memPtr);
-
- /**
- * @param envPtr Environment pointer.
- * @param objPtr Pointer.
- * @param memPtr Memory pointer.
- * @return Result.
- */
- static native int cacheEntryFilterApply(long envPtr, long objPtr, long memPtr);
-
- /**
- * @param envPtr Environment pointer.
- * @param objPtr Pointer.
- */
- static native void cacheEntryFilterDestroy(long envPtr, long objPtr);
-
- /**
- * Invoke cache entry processor.
- *
- * @param envPtr Environment pointer.
- * @param outMemPtr Output memory pointer.
- * @param inMemPtr Input memory pointer.
- */
- static native void cacheInvoke(long envPtr, long outMemPtr, long inMemPtr);
-
- /**
- * Perform native task map. Do not throw exceptions, serializing them to the output stream instead.
- *
- * @param envPtr Environment pointer.
- * @param taskPtr Task pointer.
- * @param outMemPtr Output memory pointer (exists if topology changed, otherwise {@code 0}).
- * @param inMemPtr Input memory pointer.
- */
- static native void computeTaskMap(long envPtr, long taskPtr, long outMemPtr, long inMemPtr);
-
- /**
- * Perform native task job result notification.
- *
- * @param envPtr Environment pointer.
- * @param taskPtr Task pointer.
- * @param jobPtr Job pointer.
- * @param memPtr Memory pointer (always zero for local job execution).
- * @return Job result enum ordinal.
- */
- static native int computeTaskJobResult(long envPtr, long taskPtr, long jobPtr, long memPtr);
-
- /**
- * Perform native task reduce.
- *
- * @param envPtr Environment pointer.
- * @param taskPtr Task pointer.
- */
- static native void computeTaskReduce(long envPtr, long taskPtr);
-
- /**
- * Complete task with native error.
- *
- * @param envPtr Environment pointer.
- * @param taskPtr Task pointer.
- * @param memPtr Memory pointer with exception data or {@code 0} in case of success.
- */
- static native void computeTaskComplete(long envPtr, long taskPtr, long memPtr);
-
- /**
- * Serialize native job.
- *
- * @param envPtr Environment pointer.
- * @param jobPtr Job pointer.
- * @param memPtr Memory pointer.
- * @return {@code True} if serialization succeeded.
- */
- static native int computeJobSerialize(long envPtr, long jobPtr, long memPtr);
-
- /**
- * Create job in native platform.
- *
- * @param envPtr Environment pointer.
- * @param memPtr Memory pointer.
- * @return Pointer to job.
- */
- static native long computeJobCreate(long envPtr, long memPtr);
-
- /**
- * Execute native job on a node other than where it was created.
- *
- * @param envPtr Environment pointer.
- * @param jobPtr Job pointer.
- * @param cancel Cancel flag.
- * @param memPtr Memory pointer to write result to for remote job execution or {@code 0} for local job execution.
- */
- static native void computeJobExecute(long envPtr, long jobPtr, int cancel, long memPtr);
-
- /**
- * Cancel the job.
- *
- * @param envPtr Environment pointer.
- * @param jobPtr Job pointer.
- */
- static native void computeJobCancel(long envPtr, long jobPtr);
-
- /**
- * Destroy the job.
- *
- * @param envPtr Environment pointer.
- * @param ptr Pointer.
- */
- static native void computeJobDestroy(long envPtr, long ptr);
-
- /**
- * Invoke local callback.
- *
- * @param envPtr Environment pointer.
- * @param cbPtr Callback pointer.
- * @param memPtr Memory pointer.
- */
- static native void continuousQueryListenerApply(long envPtr, long cbPtr, long memPtr);
-
- /**
- * Create filter in native platform.
- *
- * @param envPtr Environment pointer.
- * @param memPtr Memory pointer.
- * @return Pointer to created filter.
- */
- static native long continuousQueryFilterCreate(long envPtr, long memPtr);
-
- /**
- * Invoke remote filter.
- *
- * @param envPtr Environment pointer.
- * @param filterPtr Filter pointer.
- * @param memPtr Memory pointer.
- * @return Result.
- */
- static native int continuousQueryFilterApply(long envPtr, long filterPtr, long memPtr);
-
- /**
- * Release remote filter.
- *
- * @param envPtr Environment pointer.
- * @param filterPtr Filter pointer.
- */
- static native void continuousQueryFilterRelease(long envPtr, long filterPtr);
-
- /**
- * Notify native data streamer about topology update.
- *
- * @param envPtr Environment pointer.
- * @param ptr Data streamer native pointer.
- * @param topVer Topology version.
- * @param topSize Topology size.
- */
- static native void dataStreamerTopologyUpdate(long envPtr, long ptr, long topVer, int topSize);
-
- /**
- * Invoke stream receiver.
- *
- * @param envPtr Environment pointer.
- * @param ptr Receiver native pointer.
- * @param cache Cache object.
- * @param memPtr Stream pointer.
- * @param keepPortable Portable flag.
- */
- static native void dataStreamerStreamReceiverInvoke(long envPtr, long ptr, Object cache, long memPtr,
- boolean keepPortable);
-
- /**
- * Notify future with byte result.
- *
- * @param envPtr Environment pointer.
- * @param futPtr Future pointer.
- * @param res Result.
- */
- static native void futureByteResult(long envPtr, long futPtr, int res);
-
- /**
- * Notify future with boolean result.
- *
- * @param envPtr Environment pointer.
- * @param futPtr Future pointer.
- * @param res Result.
- */
- static native void futureBoolResult(long envPtr, long futPtr, int res);
-
- /**
- * Notify future with short result.
- *
- * @param envPtr Environment pointer.
- * @param futPtr Future pointer.
- * @param res Result.
- */
- static native void futureShortResult(long envPtr, long futPtr, int res);
-
- /**
- * Notify future with byte result.
- *
- * @param envPtr Environment pointer.
- * @param futPtr Future pointer.
- * @param res Result.
- */
- static native void futureCharResult(long envPtr, long futPtr, int res);
-
- /**
- * Notify future with int result.
- *
- * @param envPtr Environment pointer.
- * @param futPtr Future pointer.
- * @param res Result.
- */
- static native void futureIntResult(long envPtr, long futPtr, int res);
-
- /**
- * Notify future with float result.
- *
- * @param envPtr Environment pointer.
- * @param futPtr Future pointer.
- * @param res Result.
- */
- static native void futureFloatResult(long envPtr, long futPtr, float res);
-
- /**
- * Notify future with long result.
- *
- * @param envPtr Environment pointer.
- * @param futPtr Future pointer.
- * @param res Result.
- */
- static native void futureLongResult(long envPtr, long futPtr, long res);
-
- /**
- * Notify future with double result.
- *
- * @param envPtr Environment pointer.
- * @param futPtr Future pointer.
- * @param res Result.
- */
- static native void futureDoubleResult(long envPtr, long futPtr, double res);
-
- /**
- * Notify future with object result.
- *
- * @param envPtr Environment pointer.
- * @param futPtr Future pointer.
- * @param memPtr Memory pointer.
- */
- static native void futureObjectResult(long envPtr, long futPtr, long memPtr);
-
- /**
- * Notify future with null result.
- *
- * @param envPtr Environment pointer.
- * @param futPtr Future pointer.
- */
- static native void futureNullResult(long envPtr, long futPtr);
-
- /**
- * Notify future with error.
- *
- * @param envPtr Environment pointer.
- * @param futPtr Future pointer.
- * @param memPtr Pointer to memory with error information.
- */
- static native void futureError(long envPtr, long futPtr, long memPtr);
-
- /**
- * Creates message filter and returns a pointer.
- *
- * @param envPtr Environment pointer.
- * @param memPtr Memory pointer.
- * @return Pointer.
- */
- static native long messagingFilterCreate(long envPtr, long memPtr);
-
- /**
- * @param envPtr Environment pointer.
- * @param objPtr Pointer.
- * @param memPtr Memory pointer.
- * @return Result.
- */
- static native int messagingFilterApply(long envPtr, long objPtr, long memPtr);
-
- /**
- * @param envPtr Environment pointer.
- * @param objPtr Pointer.
- */
- static native void messagingFilterDestroy(long envPtr, long objPtr);
-
- /**
- * Creates event filter and returns a pointer.
- *
- * @param envPtr Environment pointer.
- * @param memPtr Memory pointer.
- * @return Pointer.
- */
- static native long eventFilterCreate(long envPtr, long memPtr);
-
- /**
- * @param envPtr Environment pointer.
- * @param objPtr Pointer.
- * @param memPtr Memory pointer.
- * @return Result.
- */
- static native int eventFilterApply(long envPtr, long objPtr, long memPtr);
-
- /**
- * @param envPtr Environment pointer.
- * @param objPtr Pointer.
- */
- static native void eventFilterDestroy(long envPtr, long objPtr);
-
- /**
- * Sends node info to native target.
- *
- * @param envPtr Environment pointer.
- * @param memPtr Ptr to a stream with serialized node.
- */
- static native void nodeInfo(long envPtr, long memPtr);
-
- /**
- * Kernal start callback.
- *
- * @param envPtr Environment pointer.
- * @param memPtr Memory pointer.
- */
- static native void onStart(long envPtr, long memPtr);
-
- /*
- * Kernal stop callback.
- *
- * @param envPtr Environment pointer.
- */
- static native void onStop(long envPtr);
-
- /**
- * Lifecycle event callback.
- *
- * @param envPtr Environment pointer.
- * @param ptr Holder pointer.
- * @param evt Event.
- */
- static native void lifecycleEvent(long envPtr, long ptr, int evt);
-
- /**
- * Re-allocate external memory chunk.
- *
- * @param envPtr Environment pointer.
- * @param memPtr Cross-platform pointer.
- * @param cap Capacity.
- */
- static native void memoryReallocate(long envPtr, long memPtr, int cap);
-
- /**
- * Initializes native service.
- *
- * @param envPtr Environment pointer.
- * @param memPtr Stream pointer.
- * @return Pointer to the native platform service.
- */
- static native long serviceInit(long envPtr, long memPtr);
-
- /**
- * Executes native service.
- *
- * @param envPtr Environment pointer.
- * @param svcPtr Pointer to the service in the native platform.
- * @param memPtr Stream pointer.
- */
- static native void serviceExecute(long envPtr, long svcPtr, long memPtr);
-
- /**
- * Cancels native service.
- *
- * @param envPtr Environment pointer.
- * @param svcPtr Pointer to the service in the native platform.
- * @param memPtr Stream pointer.
- */
- static native void serviceCancel(long envPtr, long svcPtr, long memPtr);
-
- /**
- /**
- * Invokes service method.
- *
- * @param envPtr Environment pointer.
- * @param svcPtr Pointer to the service in the native platform.
- * @param outMemPtr Output memory pointer.
- * @param inMemPtr Input memory pointer.
- */
- static native void serviceInvokeMethod(long envPtr, long svcPtr, long outMemPtr, long inMemPtr);
-
- /**
- * Invokes cluster node filter.
- *
- * @param envPtr Environment pointer.
- * @param memPtr Stream pointer.
- */
- static native int clusterNodeFilterApply(long envPtr, long memPtr);
-
- /**
- * Private constructor.
- */
- private PlatformCallbackUtils() {
- // No-op.
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2225f8d2/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformAbstractMemory.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformAbstractMemory.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformAbstractMemory.java
deleted file mode 100644
index cf4c02a..0000000
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformAbstractMemory.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.platform.memory;
-
-/**
- * Interop memory chunk abstraction.
- */
-public abstract class PlatformAbstractMemory implements PlatformMemory {
- /** Stream factory. */
- private static final StreamFactory STREAM_FACTORY = PlatformMemoryUtils.LITTLE_ENDIAN ?
- new LittleEndianStreamFactory() : new BigEndianStreamFactory();
-
- /** Cross-platform memory pointer. */
- protected long memPtr;
-
- /**
- * Constructor.
- *
- * @param memPtr Cross-platform memory pointer.
- */
- protected PlatformAbstractMemory(long memPtr) {
- this.memPtr = memPtr;
- }
-
- /** {@inheritDoc} */
- @Override public PlatformInputStream input() {
- return STREAM_FACTORY.createInput(this);
- }
-
- /** {@inheritDoc} */
- @Override public PlatformOutputStream output() {
- return STREAM_FACTORY.createOutput(this);
- }
-
- /** {@inheritDoc} */
- @Override public long pointer() {
- return memPtr;
- }
-
- /** {@inheritDoc} */
- @Override public long data() {
- return PlatformMemoryUtils.data(memPtr);
- }
-
- /** {@inheritDoc} */
- @Override public int capacity() {
- return PlatformMemoryUtils.capacity(memPtr);
- }
-
- /** {@inheritDoc} */
- @Override public int length() {
- return PlatformMemoryUtils.length(memPtr);
- }
-
- /**
- * Stream factory.
- */
- private static interface StreamFactory {
- /**
- * Create input stream.
- *
- * @param mem Memory.
- * @return Input stream.
- */
- PlatformInputStreamImpl createInput(PlatformMemory mem);
-
- /**
- * Create output stream.
- *
- * @param mem Memory.
- * @return Output stream.
- */
- PlatformOutputStreamImpl createOutput(PlatformMemory mem);
- }
-
- /**
- * Stream factory for LITTLE ENDIAN architecture.
- */
- private static class LittleEndianStreamFactory implements StreamFactory {
- /** {@inheritDoc} */
- @Override public PlatformInputStreamImpl createInput(PlatformMemory mem) {
- return new PlatformInputStreamImpl(mem);
- }
-
- /** {@inheritDoc} */
- @Override public PlatformOutputStreamImpl createOutput(PlatformMemory mem) {
- return new PlatformOutputStreamImpl(mem);
- }
- }
-
- /**
- * Stream factory for BIG ENDIAN architecture.
- */
- private static class BigEndianStreamFactory implements StreamFactory {
- /** {@inheritDoc} */
- @Override public PlatformInputStreamImpl createInput(PlatformMemory mem) {
- return new PlatformBigEndianInputStreamImpl(mem);
- }
-
- /** {@inheritDoc} */
- @Override public PlatformOutputStreamImpl createOutput(PlatformMemory mem) {
- return new PlatformBigEndianOutputStreamImpl(mem);
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2225f8d2/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformBigEndianInputStreamImpl.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformBigEndianInputStreamImpl.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformBigEndianInputStreamImpl.java
deleted file mode 100644
index fbf7f8e..0000000
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformBigEndianInputStreamImpl.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.ignite.internal.platform.memory;
-
-/**
- * Interop input stream implementation working with BIG ENDIAN architecture.
- */
-public class PlatformBigEndianInputStreamImpl extends PlatformInputStreamImpl {
- /**
- * Constructor.
- *
- * @param mem Memory chunk.
- */
- public PlatformBigEndianInputStreamImpl(PlatformMemory mem) {
- super(mem);
- }
-
- /** {@inheritDoc} */
- @Override public short readShort() {
- return Short.reverseBytes(super.readShort());
- }
-
- /** {@inheritDoc} */
- @Override public short[] readShortArray(int cnt) {
- short[] res = super.readShortArray(cnt);
-
- for (int i = 0; i < cnt; i++)
- res[i] = Short.reverseBytes(res[i]);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public char readChar() {
- return Character.reverseBytes(super.readChar());
- }
-
- /** {@inheritDoc} */
- @Override public char[] readCharArray(int cnt) {
- char[] res = super.readCharArray(cnt);
-
- for (int i = 0; i < cnt; i++)
- res[i] = Character.reverseBytes(res[i]);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public int readInt() {
- return Integer.reverseBytes(super.readInt());
- }
-
- /** {@inheritDoc} */
- @Override public int readInt(int pos) {
- return Integer.reverseBytes(super.readInt(pos));
- }
-
- /** {@inheritDoc} */
- @Override public int[] readIntArray(int cnt) {
- int[] res = super.readIntArray(cnt);
-
- for (int i = 0; i < cnt; i++)
- res[i] = Integer.reverseBytes(res[i]);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public float readFloat() {
- return Float.intBitsToFloat(Integer.reverseBytes(Float.floatToIntBits(super.readFloat())));
- }
-
- /** {@inheritDoc} */
- @Override public float[] readFloatArray(int cnt) {
- float[] res = super.readFloatArray(cnt);
-
- for (int i = 0; i < cnt; i++)
- res[i] = Float.intBitsToFloat(Integer.reverseBytes(Float.floatToIntBits(res[i])));
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public long readLong() {
- return Long.reverseBytes(super.readLong());
- }
-
- /** {@inheritDoc} */
- @Override public long[] readLongArray(int cnt) {
- long[] res = super.readLongArray(cnt);
-
- for (int i = 0; i < cnt; i++)
- res[i] = Long.reverseBytes(res[i]);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public double readDouble() {
- return Double.longBitsToDouble(Long.reverseBytes(Double.doubleToLongBits(super.readDouble())));
- }
-
- /** {@inheritDoc} */
- @Override public double[] readDoubleArray(int cnt) {
- double[] res = super.readDoubleArray(cnt);
-
- for (int i = 0; i < cnt; i++)
- res[i] = Double.longBitsToDouble(Long.reverseBytes(Double.doubleToLongBits(res[i])));
-
- return res;
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2225f8d2/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformBigEndianOutputStreamImpl.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformBigEndianOutputStreamImpl.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformBigEndianOutputStreamImpl.java
deleted file mode 100644
index 144e5dc..0000000
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformBigEndianOutputStreamImpl.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.platform.memory;
-
-import static org.apache.ignite.internal.platform.memory.PlatformMemoryUtils.*;
-
-/**
- * Interop output stream implementation working with BIG ENDIAN architecture.
- */
-public class PlatformBigEndianOutputStreamImpl extends PlatformOutputStreamImpl {
- /**
- * Constructor.
- *
- * @param mem Underlying memory chunk.
- */
- public PlatformBigEndianOutputStreamImpl(PlatformMemory mem) {
- super(mem);
- }
-
- /** {@inheritDoc} */
- @Override public void writeShort(short val) {
- super.writeShort(Short.reverseBytes(val));
- }
-
- /** {@inheritDoc} */
- @Override public void writeShortArray(short[] val) {
- int cnt = val.length << 1;
-
- ensureCapacity(pos + cnt);
-
- long startPos = data + pos;
-
- for (short item : val) {
- UNSAFE.putShort(startPos, Short.reverseBytes(item));
-
- startPos += 2;
- }
-
- shift(cnt);
- }
-
- /** {@inheritDoc} */
- @Override public void writeChar(char val) {
- super.writeChar(Character.reverseBytes(val));
- }
-
- /** {@inheritDoc} */
- @Override public void writeCharArray(char[] val) {
- int cnt = val.length << 1;
-
- ensureCapacity(pos + cnt);
-
- long startPos = data + pos;
-
- for (char item : val) {
- UNSAFE.putChar(startPos, Character.reverseBytes(item));
-
- startPos += 2;
- }
-
- shift(cnt);
- }
-
- /** {@inheritDoc} */
- @Override public void writeInt(int val) {
- super.writeInt(Integer.reverseBytes(val));
- }
-
- /** {@inheritDoc} */
- @Override public void writeIntArray(int[] val) {
- int cnt = val.length << 2;
-
- ensureCapacity(pos + cnt);
-
- long startPos = data + pos;
-
- for (int item : val) {
- UNSAFE.putInt(startPos, Integer.reverseBytes(item));
-
- startPos += 4;
- }
-
- shift(cnt);
- }
-
- /** {@inheritDoc} */
- @Override public void writeInt(int pos, int val) {
- super.writeInt(pos, Integer.reverseBytes(val));
- }
-
- /** {@inheritDoc} */
- @Override public void writeFloatArray(float[] val) {
- int cnt = val.length << 2;
-
- ensureCapacity(pos + cnt);
-
- long startPos = data + pos;
-
- for (float item : val) {
- UNSAFE.putInt(startPos, Integer.reverseBytes(Float.floatToIntBits(item)));
-
- startPos += 4;
- }
-
- shift(cnt);
- }
-
- /** {@inheritDoc} */
- @Override public void writeLong(long val) {
- super.writeLong(Long.reverseBytes(val));
- }
-
- /** {@inheritDoc} */
- @Override public void writeLongArray(long[] val) {
- int cnt = val.length << 3;
-
- ensureCapacity(pos + cnt);
-
- long startPos = data + pos;
-
- for (long item : val) {
- UNSAFE.putLong(startPos, Long.reverseBytes(item));
-
- startPos += 8;
- }
-
- shift(cnt);
- }
-
- /** {@inheritDoc} */
- @Override public void writeDoubleArray(double[] val) {
- int cnt = val.length << 3;
-
- ensureCapacity(pos + cnt);
-
- long startPos = data + pos;
-
- for (double item : val) {
- UNSAFE.putLong(startPos, Long.reverseBytes(Double.doubleToLongBits(item)));
-
- startPos += 8;
- }
-
- shift(cnt);
- }
-}
-
http://git-wip-us.apache.org/repos/asf/ignite/blob/2225f8d2/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformExternalMemory.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformExternalMemory.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformExternalMemory.java
deleted file mode 100644
index e04779d..0000000
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformExternalMemory.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.platform.memory;
-
-import org.apache.ignite.*;
-import org.apache.ignite.internal.platform.callback.*;
-import org.jetbrains.annotations.*;
-
-/**
- * Interop external memory chunk.
- */
-public class PlatformExternalMemory extends PlatformAbstractMemory {
- /** Native gateway. */
- private final PlatformCallbackGateway gate;
-
- /**
- * Constructor.
- *
- * @param gate Native gateway.
- * @param memPtr Memory pointer.
- */
- public PlatformExternalMemory(@Nullable PlatformCallbackGateway gate, long memPtr) {
- super(memPtr);
-
- this.gate = gate;
- }
-
- /** {@inheritDoc} */
- @Override public void reallocate(int cap) {
- if (gate == null)
- throw new IgniteException("Failed to re-allocate external memory chunk because it is read-only.");
-
- gate.memoryReallocate(memPtr, cap);
- }
-
- /** {@inheritDoc} */
- @Override public void close() {
- // Do nothing, memory must be released by native platform.
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2225f8d2/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformInputStream.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformInputStream.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformInputStream.java
deleted file mode 100644
index 6d0d107..0000000
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformInputStream.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.platform.memory;
-
-import org.apache.ignite.internal.portable.streams.*;
-
-/**
- * Interop output stream,
- */
-public interface PlatformInputStream extends PortableInputStream {
- /**
- * Synchronize input. Must be called before start reading data from a memory changed by another platform.
- */
- public void synchronize();
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2225f8d2/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformInputStreamImpl.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformInputStreamImpl.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformInputStreamImpl.java
deleted file mode 100644
index e741c9e..0000000
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformInputStreamImpl.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.platform.memory;
-
-import org.apache.ignite.*;
-
-import static org.apache.ignite.internal.platform.memory.PlatformMemoryUtils.*;
-
-/**
- * Interop input stream implementation.
- */
-public class PlatformInputStreamImpl implements PlatformInputStream {
- /** Underlying memory. */
- private final PlatformMemory mem;
-
- /** Real data pointer */
- private long data;
-
- /** Amount of available data. */
- private int len;
-
- /** Current position. */
- private int pos;
-
- /** Heap-copied data. */
- private byte[] dataCopy;
-
- /**
- * Constructor.
- *
- * @param mem Underlying memory chunk.
- */
- public PlatformInputStreamImpl(PlatformMemory mem) {
- this.mem = mem;
-
- data = mem.data();
- len = mem.length();
- }
-
- /** {@inheritDoc} */
- @Override public byte readByte() {
- ensureEnoughData(1);
-
- return UNSAFE.getByte(data + pos++);
- }
-
- /** {@inheritDoc} */
- @Override public byte[] readByteArray(int cnt) {
- byte[] res = new byte[cnt];
-
- copyAndShift(res, BYTE_ARR_OFF, cnt);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public boolean readBoolean() {
- return readByte() == 1;
- }
-
- /** {@inheritDoc} */
- @Override public boolean[] readBooleanArray(int cnt) {
- boolean[] res = new boolean[cnt];
-
- copyAndShift(res, BOOLEAN_ARR_OFF, cnt);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public short readShort() {
- ensureEnoughData(2);
-
- short res = UNSAFE.getShort(data + pos);
-
- shift(2);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public short[] readShortArray(int cnt) {
- int len = cnt << 1;
-
- short[] res = new short[cnt];
-
- copyAndShift(res, SHORT_ARR_OFF, len);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public char readChar() {
- ensureEnoughData(2);
-
- char res = UNSAFE.getChar(data + pos);
-
- shift(2);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public char[] readCharArray(int cnt) {
- int len = cnt << 1;
-
- char[] res = new char[cnt];
-
- copyAndShift(res, CHAR_ARR_OFF, len);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public int readInt() {
- ensureEnoughData(4);
-
- int res = UNSAFE.getInt(data + pos);
-
- shift(4);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public int readInt(int pos) {
- int delta = pos + 4 - this.pos;
-
- if (delta > 0)
- ensureEnoughData(delta);
-
- return UNSAFE.getInt(data + pos);
- }
-
- /** {@inheritDoc} */
- @Override public int[] readIntArray(int cnt) {
- int len = cnt << 2;
-
- int[] res = new int[cnt];
-
- copyAndShift(res, INT_ARR_OFF, len);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public float readFloat() {
- ensureEnoughData(4);
-
- float res = UNSAFE.getFloat(data + pos);
-
- shift(4);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public float[] readFloatArray(int cnt) {
- int len = cnt << 2;
-
- float[] res = new float[cnt];
-
- copyAndShift(res, FLOAT_ARR_OFF, len);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public long readLong() {
- ensureEnoughData(8);
-
- long res = UNSAFE.getLong(data + pos);
-
- shift(8);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public long[] readLongArray(int cnt) {
- int len = cnt << 3;
-
- long[] res = new long[cnt];
-
- copyAndShift(res, LONG_ARR_OFF, len);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public double readDouble() {
- ensureEnoughData(8);
-
- double res = UNSAFE.getDouble(data + pos);
-
- shift(8);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public double[] readDoubleArray(int cnt) {
- int len = cnt << 3;
-
- double[] res = new double[cnt];
-
- copyAndShift(res, DOUBLE_ARR_OFF, len);
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public int read(byte[] arr, int off, int len) {
- if (len > remaining())
- len = remaining();
-
- copyAndShift(arr, BYTE_ARR_OFF + off, len);
-
- return len;
- }
-
- /** {@inheritDoc} */
- @Override public int remaining() {
- return len - pos;
- }
-
- /** {@inheritDoc} */
- @Override public int position() {
- return pos;
- }
-
- /** {@inheritDoc} */
- @Override public void position(int pos) {
- if (pos > len)
- throw new IgniteException("Position is out of bounds: " + pos);
- else
- this.pos = pos;
- }
-
- /** {@inheritDoc} */
- @Override public byte[] array() {
- return arrayCopy();
- }
-
- /** {@inheritDoc} */
- @Override public byte[] arrayCopy() {
- if (dataCopy == null) {
- dataCopy = new byte[len];
-
- UNSAFE.copyMemory(null, data, dataCopy, BYTE_ARR_OFF, dataCopy.length);
- }
-
- return dataCopy;
- }
-
- /** {@inheritDoc} */
- @Override public long offheapPointer() {
- return 0;
- }
-
- /** {@inheritDoc} */
- @Override public boolean hasArray() {
- return false;
- }
-
- /** {@inheritDoc} */
- @Override public void synchronize() {
- data = mem.data();
- len = mem.length();
- }
-
- /**
- * Ensure there is enough data in the stream.
- *
- * @param cnt Amount of byte expected to be available.
- */
- private void ensureEnoughData(int cnt) {
- if (remaining() < cnt)
- throw new IgniteException("Not enough data to read the value [position=" + pos +
- ", requiredBytes=" + cnt + ", remainingBytes=" + remaining() + ']');
- }
-
- /**
- * Copy required amount of data and shift position.
- *
- * @param target Target to copy data to.
- * @param off Offset.
- * @param cnt Count.
- */
- private void copyAndShift(Object target, long off, int cnt) {
- ensureEnoughData(cnt);
-
- UNSAFE.copyMemory(null, data + pos, target, off, cnt);
-
- shift(cnt);
- }
-
- /**
- * Shift position to the right.
- *
- * @param cnt Amount of bytes.
- */
- private void shift(int cnt) {
- pos += cnt;
-
- assert pos <= len;
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2225f8d2/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformMemory.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformMemory.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformMemory.java
deleted file mode 100644
index 648827a..0000000
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformMemory.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.platform.memory;
-
-/**
- * Interop memory chunk.
- */
-public interface PlatformMemory extends AutoCloseable {
- /**
- * Gets input stream.
- *
- * @return Input stream.
- */
- public PlatformInputStream input();
-
- /**
- * Gets output stream.
- *
- * @return Output stream.
- */
- public PlatformOutputStream output();
-
- /**
- * Gets pointer which can be passed between platforms.
- *
- * @return Pointer.
- */
- public long pointer();
-
- /**
- * Gets data pointer.
- *
- * @return Data pointer.
- */
- public long data();
-
- /**
- * Gets capacity.
- *
- * @return Capacity.
- */
- public int capacity();
-
- /**
- * Gets length.
- *
- * @return Length.
- */
- public int length();
-
- /**
- * Reallocate memory chunk.
- *
- * @param cap Minimum capacity.
- */
- public void reallocate(int cap);
-
- /**
- * Close memory releasing it.
- */
- @Override void close();
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2225f8d2/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformMemoryManager.java
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformMemoryManager.java b/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformMemoryManager.java
deleted file mode 100644
index 73ec915..0000000
--- a/modules/platform/src/main/java/org/apache/ignite/internal/platform/memory/PlatformMemoryManager.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.platform.memory;
-
-/**
- * Interop memory manager interface.
- */
-public interface PlatformMemoryManager {
- /**
- * Allocates memory.
- *
- * @return Memory.
- */
- public PlatformMemory allocate();
-
- /**
- * Allocates memory having at least the given capacity.
- *
- * @param cap Minimum capacity.
- * @return Memory.
- */
- public PlatformMemory allocate(int cap);
-
- /**
- * Gets memory from existing pointer.
- *
- * @param memPtr Cross-platform memory pointer.
- * @return Memory.
- */
- public PlatformMemory get(long memPtr);
-}