You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2018/12/10 07:24:54 UTC
[24/37] ignite git commit: IGNITE-10475 Introduce IDEA async debugger
annotations - Fixes #5546.
IGNITE-10475 Introduce IDEA async debugger annotations - Fixes #5546.
Signed-off-by: Dmitriy Govorukhin <dm...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/3fb68f72
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/3fb68f72
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/3fb68f72
Branch: refs/heads/ignite-10189
Commit: 3fb68f7254802e7f9bca78e42c20e59dd08c49c8
Parents: 26860c5
Author: ibessonov <be...@gmail.com>
Authored: Fri Dec 7 12:50:14 2018 +0300
Committer: Dmitriy Govorukhin <dm...@gmail.com>
Committed: Fri Dec 7 12:50:14 2018 +0300
----------------------------------------------------------------------
.../ignite/internal/IgniteInternalFuture.java | 4 ++++
.../internal/util/future/GridFutureAdapter.java | 20 +++++++++++++-------
2 files changed, 17 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/3fb68f72/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java
index 76f8c71..b133ef0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java
@@ -23,6 +23,7 @@ import java.util.concurrent.TimeUnit;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.lang.IgniteClosure;
import org.apache.ignite.lang.IgniteInClosure;
+import org.jetbrains.annotations.Async;
/**
* Extension for standard {@link Future} interface. It adds simplified exception handling,
@@ -107,6 +108,7 @@ public interface IgniteInternalFuture<R> {
*
* @param lsnr Listener closure to register. If not provided - this method is no-op.
*/
+ @Async.Schedule
public void listen(IgniteInClosure<? super IgniteInternalFuture<R>> lsnr);
/**
@@ -116,6 +118,7 @@ public interface IgniteInternalFuture<R> {
* @param doneCb Done callback that is applied to this future when it finishes to produce chained future result.
* @return Chained future that finishes after this future completes and done callback is called.
*/
+ @Async.Schedule
public <T> IgniteInternalFuture<T> chain(IgniteClosure<? super IgniteInternalFuture<R>, T> doneCb);
/**
@@ -126,6 +129,7 @@ public interface IgniteInternalFuture<R> {
* @param exec Executor to run callback.
* @return Chained future that finishes after this future completes and done callback is called.
*/
+ @Async.Schedule
public <T> IgniteInternalFuture<T> chain(IgniteClosure<? super IgniteInternalFuture<R>, T> doneCb, Executor exec);
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/3fb68f72/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridFutureAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridFutureAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridFutureAdapter.java
index a191f30..6eafe48 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridFutureAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridFutureAdapter.java
@@ -34,6 +34,7 @@ import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteClosure;
import org.apache.ignite.lang.IgniteInClosure;
+import org.jetbrains.annotations.Async;
import org.jetbrains.annotations.Nullable;
/**
@@ -331,7 +332,6 @@ public class GridFutureAdapter<R> implements IgniteInternalFuture<R> {
/**
* @param head Head of waiters stack.
*/
- @SuppressWarnings("unchecked")
private void unblockAll(Node head) {
while (head != null) {
unblock(head.val);
@@ -343,21 +343,24 @@ public class GridFutureAdapter<R> implements IgniteInternalFuture<R> {
* @param waiter Waiter to unblock
*/
private void unblock(Object waiter) {
- if(waiter instanceof Thread)
+ if (waiter instanceof Thread)
LockSupport.unpark((Thread)waiter);
else
notifyListener((IgniteInClosure<? super IgniteInternalFuture<R>>)waiter);
}
/** {@inheritDoc} */
+ @Async.Schedule
@Override public void listen(IgniteInClosure<? super IgniteInternalFuture<R>> lsnr) {
if (!registerWaiter(lsnr))
notifyListener(lsnr);
}
/** {@inheritDoc} */
- @Override public <T> IgniteInternalFuture<T> chain(final IgniteClosure<? super IgniteInternalFuture<R>, T> doneCb) {
- ChainFuture fut = new ChainFuture<>(this, doneCb, null);
+ @Override public <T> IgniteInternalFuture<T> chain(
+ IgniteClosure<? super IgniteInternalFuture<R>, T> doneCb
+ ) {
+ ChainFuture<R, T> fut = new ChainFuture<>(this, doneCb, null);
if (ignoreInterrupts)
fut.ignoreInterrupts();
@@ -366,9 +369,11 @@ public class GridFutureAdapter<R> implements IgniteInternalFuture<R> {
}
/** {@inheritDoc} */
- @Override public <T> IgniteInternalFuture<T> chain(final IgniteClosure<? super IgniteInternalFuture<R>, T> doneCb,
- Executor exec) {
- ChainFuture fut = new ChainFuture<>(this, doneCb, exec);
+ @Override public <T> IgniteInternalFuture<T> chain(
+ IgniteClosure<? super IgniteInternalFuture<R>, T> doneCb,
+ Executor exec
+ ) {
+ ChainFuture<R, T> fut = new ChainFuture<>(this, doneCb, exec);
if (ignoreInterrupts)
fut.ignoreInterrupts();
@@ -388,6 +393,7 @@ public class GridFutureAdapter<R> implements IgniteInternalFuture<R> {
*
* @param lsnr Listener.
*/
+ @Async.Execute
private void notifyListener(IgniteInClosure<? super IgniteInternalFuture<R>> lsnr) {
assert lsnr != null;