diff --git a/src/DotNetty.Buffers/project.json b/src/DotNetty.Buffers/project.json
index 34e0a9b..8189b3f 100644
--- a/src/DotNetty.Buffers/project.json
+++ b/src/DotNetty.Buffers/project.json
@@ -19,7 +19,8 @@
},
"buildOptions": {
"keyFile": "../../DotNetty.snk",
- "xmlDoc": true
+ "xmlDoc": true,
+ "nowarn": [ "CS1591" ]
},
"dependencies": {
"DotNetty.Common": {
diff --git a/src/DotNetty.Codecs.Mqtt/project.json b/src/DotNetty.Codecs.Mqtt/project.json
index 07af2ed..d895229 100644
--- a/src/DotNetty.Codecs.Mqtt/project.json
+++ b/src/DotNetty.Codecs.Mqtt/project.json
@@ -19,7 +19,8 @@
},
"buildOptions": {
"keyFile": "../../DotNetty.snk",
- "xmlDoc": true
+ "xmlDoc": true,
+ "nowarn": [ "CS1591" ]
},
"dependencies": {
"DotNetty.Common": {
diff --git a/src/DotNetty.Codecs.Protobuf/project.json b/src/DotNetty.Codecs.Protobuf/project.json
index 95d85e9..b8980bb 100644
--- a/src/DotNetty.Codecs.Protobuf/project.json
+++ b/src/DotNetty.Codecs.Protobuf/project.json
@@ -19,7 +19,8 @@
},
"buildOptions": {
"keyFile": "../../DotNetty.snk",
- "xmlDoc": true
+ "xmlDoc": true,
+ "nowarn": [ "CS1591" ]
},
"dependencies": {
"DotNetty.Common": {
diff --git a/src/DotNetty.Codecs.ProtocolBuffers/project.json b/src/DotNetty.Codecs.ProtocolBuffers/project.json
index aceaa54..ccf75b3 100644
--- a/src/DotNetty.Codecs.ProtocolBuffers/project.json
+++ b/src/DotNetty.Codecs.ProtocolBuffers/project.json
@@ -19,7 +19,8 @@
},
"buildOptions": {
"keyFile": "../../DotNetty.snk",
- "xmlDoc": true
+ "xmlDoc": true,
+ "nowarn": [ "CS1591" ]
},
"dependencies": {
"DotNetty.Common": {
diff --git a/src/DotNetty.Codecs.Redis/project.json b/src/DotNetty.Codecs.Redis/project.json
index 5965fa2..6e8e18d 100644
--- a/src/DotNetty.Codecs.Redis/project.json
+++ b/src/DotNetty.Codecs.Redis/project.json
@@ -19,7 +19,8 @@
},
"buildOptions": {
"keyFile": "../../DotNetty.snk",
- "xmlDoc": true
+ "xmlDoc": true,
+ "nowarn": [ "CS1591" ]
},
"dependencies": {
"DotNetty.Common": {
diff --git a/src/DotNetty.Codecs/project.json b/src/DotNetty.Codecs/project.json
index 64d8b40..9dd451a 100644
--- a/src/DotNetty.Codecs/project.json
+++ b/src/DotNetty.Codecs/project.json
@@ -20,7 +20,8 @@
"buildOptions": {
"allowUnsafe": true,
"keyFile": "../../DotNetty.snk",
- "xmlDoc": true
+ "xmlDoc": true,
+ "nowarn": [ "CS1591" ]
},
"dependencies": {
"DotNetty.Common": {
diff --git a/src/DotNetty.Common/Concurrency/AbstractEventExecutor.cs b/src/DotNetty.Common/Concurrency/AbstractEventExecutor.cs
index 496277e..3288b62 100644
--- a/src/DotNetty.Common/Concurrency/AbstractEventExecutor.cs
+++ b/src/DotNetty.Common/Concurrency/AbstractEventExecutor.cs
@@ -6,81 +6,116 @@ namespace DotNetty.Common.Concurrency
using System;
using System.Threading;
using System.Threading.Tasks;
- using Thread = DotNetty.Common.Concurrency.XThread;
+ using Thread = XThread;
///
/// Abstract base class for implementations
///
public abstract class AbstractEventExecutor : IEventExecutor
{
- protected static readonly TimeSpan DefaultShutdownQuietPeriod = TimeSpan.FromSeconds(2);
- protected static readonly TimeSpan DefaultShutdownTimeout = TimeSpan.FromSeconds(15);
+ static readonly TimeSpan DefaultShutdownQuietPeriod = TimeSpan.FromSeconds(2);
+ static readonly TimeSpan DefaultShutdownTimeout = TimeSpan.FromSeconds(15);
- //TODO: support for EventExecutorGroup
+ /// Creates an instance of .
+ protected AbstractEventExecutor()
+ : this(null)
+ {
+ }
+ /// Creates an instance of .
+ protected AbstractEventExecutor(IEventExecutorGroup parent)
+ {
+ this.Parent = parent;
+ }
+
+ ///
public bool InEventLoop => this.IsInEventLoop(Thread.CurrentThread);
+ ///
public abstract bool IsShuttingDown { get; }
+ ///
public abstract Task TerminationCompletion { get; }
+ ///
public abstract bool IsShutdown { get; }
+ ///
public abstract bool IsTerminated { get; }
+ ///
+ public IEventExecutorGroup Parent { get; }
+
+ ///
public abstract bool IsInEventLoop(Thread thread);
+ ///
public abstract void Execute(IRunnable task);
+ ///
public void Execute(Action