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 <voze...@gridgain.com> Authored: Wed Aug 26 09:36:44 2015 +0300 Committer: vozerov-gridgain <voze...@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); -}