You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by ju...@apache.org on 2016/01/22 00:00:43 UTC

reef git commit: [REEF-1094] Pass through O.A.R.Network to hide unnecessarily public APIs

Repository: reef
Updated Branches:
  refs/heads/master 1afc6a607 -> 8da526afa


[REEF-1094] Pass through O.A.R.Network to hide unnecessarily public APIs

JIRA:
  [REEF-1094](https://issues.apache.org/jira/browse/REEF-1094)

This closes #769


Project: http://git-wip-us.apache.org/repos/asf/reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/8da526af
Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/8da526af
Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/8da526af

Branch: refs/heads/master
Commit: 8da526afad9f1ee65bda804d4d57d4e96e69092e
Parents: 1afc6a6
Author: Andrew Chung <af...@gmail.com>
Authored: Wed Jan 13 17:19:08 2016 -0800
Committer: Julia Wang <ju...@microsoft.com>
Committed: Thu Jan 21 14:57:37 2016 -0800

----------------------------------------------------------------------
 .../Group/Config/CodecConfiguration.cs               |  2 +-
 .../Group/Config/GroupCommConfigurationOptions.cs    |  2 +-
 .../Config/PipelineDataConverterConfiguration.cs     |  2 +-
 .../Group/Config/ReduceFunctionConfiguration.cs      |  7 +------
 .../Group/Driver/ICommunicationGroupDriver.cs        |  2 +-
 .../Group/Driver/Impl/CommunicationGroupDriver.cs    |  4 ++--
 .../Driver/Impl/GeneralGroupCommunicationMessage.cs  |  5 -----
 .../Group/Driver/Impl/TaskStarter.cs                 |  3 ++-
 .../Group/Operators/Impl/BroadcastOperatorSpec.cs    |  4 +++-
 .../Group/Operators/Impl/BroadcastReceiver.cs        |  2 ++
 .../Group/Operators/Impl/BroadcastSender.cs          |  2 ++
 .../Group/Operators/Impl/PipelinedReduceFunction.cs  |  4 +++-
 .../Group/Operators/Impl/ReduceFunction.cs           |  4 +++-
 .../Group/Operators/Impl/ReduceOperatorSpec.cs       |  7 +++----
 .../Group/Operators/Impl/ReduceReceiver.cs           |  2 ++
 .../Group/Operators/Impl/ReduceSender.cs             |  2 ++
 .../Group/Operators/Impl/ScatterOperatorSpec.cs      |  4 +++-
 .../Group/Operators/Impl/ScatterReceiver.cs          |  2 ++
 .../Group/Operators/Impl/ScatterSender.cs            |  3 ++-
 .../Pipelining/Impl/DefaultPipelineDataConverter.cs  |  4 +---
 .../Group/Pipelining/PipelineMessage.cs              |  2 +-
 .../Group/Pipelining/PipelineMessageCodec.cs         |  4 ++--
 .../Group/Task/Impl/CommunicationGroupClient.cs      |  2 +-
 .../Group/Topology/FlatTopology.cs                   |  2 +-
 .../Group/Topology/TaskNode.cs                       |  2 +-
 .../Group/Topology/TreeTopology.cs                   |  2 +-
 .../Naming/Codec/NamingLookupRequestCodec.cs         |  2 +-
 .../Naming/Codec/NamingLookupResponseCodec.cs        |  2 +-
 .../Naming/Codec/NamingRegisterRequestCodec.cs       |  2 +-
 .../Naming/Codec/NamingRegisterResponseCodec.cs      |  2 +-
 .../Naming/Codec/NamingUnregisterRequestCodec.cs     |  2 +-
 .../Naming/Events/NamingEvent.cs                     |  2 +-
 .../Naming/Events/NamingGetAllRequest.cs             |  2 +-
 .../Naming/Events/NamingGetAllResponse.cs            |  2 +-
 .../Naming/Events/NamingLookupRequest.cs             |  2 +-
 .../Naming/Events/NamingLookupResponse.cs            |  2 +-
 .../Naming/Events/NamingRegisterRequest.cs           |  2 +-
 .../Naming/Events/NamingRegisterResponse.cs          |  2 +-
 .../Naming/Events/NamingUnregisterRequest.cs         |  2 +-
 .../Naming/Events/NamingUnregisterResponse.cs        |  2 +-
 lang/cs/Org.Apache.REEF.Network/Naming/NameCache.cs  |  2 +-
 lang/cs/Org.Apache.REEF.Network/Naming/NameClient.cs | 15 ++++-----------
 .../Naming/NameLookupClient.cs                       |  2 +-
 .../Naming/NameRegisterClient.cs                     |  2 +-
 lang/cs/Org.Apache.REEF.Network/Naming/NameServer.cs |  2 +-
 .../Naming/Observers/NamingGetAllRequestObserver.cs  |  2 +-
 .../Naming/Observers/NamingLookupRequestObserver.cs  |  2 +-
 .../Observers/NamingRegisterRequestObserver.cs       |  2 +-
 .../Observers/NamingUnregisterRequestObserver.cs     |  2 +-
 .../Org.Apache.REEF.Network.csproj                   |  5 +----
 50 files changed, 71 insertions(+), 74 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Config/CodecConfiguration.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Config/CodecConfiguration.cs b/lang/cs/Org.Apache.REEF.Network/Group/Config/CodecConfiguration.cs
index 463603e..180d69f 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Config/CodecConfiguration.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Config/CodecConfiguration.cs
@@ -22,7 +22,7 @@ using Org.Apache.REEF.Wake.Remote;
 
 namespace Org.Apache.REEF.Network.Group.Config
 {
-    public class CodecConfiguration<T> : ConfigurationModuleBuilder
+    public sealed class CodecConfiguration<T> : ConfigurationModuleBuilder
     {
         /// <summary>
         /// RequiredImpl for Codec. Client needs to set implementation for this parameter

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Config/GroupCommConfigurationOptions.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Config/GroupCommConfigurationOptions.cs b/lang/cs/Org.Apache.REEF.Network/Group/Config/GroupCommConfigurationOptions.cs
index 06ba57f..da645a2 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Config/GroupCommConfigurationOptions.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Config/GroupCommConfigurationOptions.cs
@@ -20,7 +20,7 @@ using Org.Apache.REEF.Tang.Annotations;
 
 namespace Org.Apache.REEF.Network.Group.Config
 {
-    public class GroupCommConfigurationOptions
+    public sealed class GroupCommConfigurationOptions
     {
         [NamedParameter("Name of the communication group")]
         public class CommunicationGroupName : Name<string>

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Config/PipelineDataConverterConfiguration.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Config/PipelineDataConverterConfiguration.cs b/lang/cs/Org.Apache.REEF.Network/Group/Config/PipelineDataConverterConfiguration.cs
index 59bc89e..70eec58 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Config/PipelineDataConverterConfiguration.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Config/PipelineDataConverterConfiguration.cs
@@ -21,7 +21,7 @@ using Org.Apache.REEF.Tang.Util;
 
 namespace Org.Apache.REEF.Network.Group.Config
 {
-    public class PipelineDataConverterConfiguration<T> : ConfigurationModuleBuilder
+    public sealed class PipelineDataConverterConfiguration<T> : ConfigurationModuleBuilder
     {
         /// <summary>
         /// Required Imple parameter for Pipeline Data Converter. Client needs to set an implementation for it. 

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Config/ReduceFunctionConfiguration.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Config/ReduceFunctionConfiguration.cs b/lang/cs/Org.Apache.REEF.Network/Group/Config/ReduceFunctionConfiguration.cs
index 17c136f..e6e7f89 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Config/ReduceFunctionConfiguration.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Config/ReduceFunctionConfiguration.cs
@@ -15,18 +15,13 @@
 // specific language governing permissions and limitations
 // under the License.
 
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 using Org.Apache.REEF.Network.Group.Operators;
 using Org.Apache.REEF.Tang.Formats;
 using Org.Apache.REEF.Tang.Util;
 
 namespace Org.Apache.REEF.Network.Group.Config
 {
-    public class ReduceFunctionConfiguration<T> : ConfigurationModuleBuilder
+    public sealed class ReduceFunctionConfiguration<T> : ConfigurationModuleBuilder
     {
         /// <summary>
         /// RequiredImpl for Reduced Function. Client needs to set implementation for this paramter

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Driver/ICommunicationGroupDriver.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Driver/ICommunicationGroupDriver.cs b/lang/cs/Org.Apache.REEF.Network/Group/Driver/ICommunicationGroupDriver.cs
index 8d85862..b50a6c6 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Driver/ICommunicationGroupDriver.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Driver/ICommunicationGroupDriver.cs
@@ -31,7 +31,7 @@ namespace Org.Apache.REEF.Network.Group.Driver
         /// <summary>
         /// Returns the list of task ids that belong to this Communication Group
         /// </summary>
-        List<string> TaskIds { get; }
+        IList<string> TaskIds { get; }
 
         /// <summary>
         /// Adds the Broadcast Group Communication operator to the communication group.

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Driver/Impl/CommunicationGroupDriver.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Driver/Impl/CommunicationGroupDriver.cs b/lang/cs/Org.Apache.REEF.Network/Group/Driver/Impl/CommunicationGroupDriver.cs
index 885dd17..00ff217 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Driver/Impl/CommunicationGroupDriver.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Driver/Impl/CommunicationGroupDriver.cs
@@ -35,7 +35,7 @@ namespace Org.Apache.REEF.Network.Group.Driver.Impl
     /// All operators in the same Communication Group run on the the 
     /// same set of tasks.
     /// </summary>
-    public sealed class CommunicationGroupDriver : ICommunicationGroupDriver
+    internal sealed class CommunicationGroupDriver : ICommunicationGroupDriver
     {
         private static readonly Logger LOGGER = Logger.GetLogger(typeof(CommunicationGroupDriver));
 
@@ -85,7 +85,7 @@ namespace Org.Apache.REEF.Network.Group.Driver.Impl
         /// <summary>
         /// Returns the list of task ids that belong to this Communication Group
         /// </summary>
-        public List<string> TaskIds { get; private set; }
+        public IList<string> TaskIds { get; private set; }
 
         /// <summary>
         /// </summary>

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Driver/Impl/GeneralGroupCommunicationMessage.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Driver/Impl/GeneralGroupCommunicationMessage.cs b/lang/cs/Org.Apache.REEF.Network/Group/Driver/Impl/GeneralGroupCommunicationMessage.cs
index f22b7a4..7cce556 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Driver/Impl/GeneralGroupCommunicationMessage.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Driver/Impl/GeneralGroupCommunicationMessage.cs
@@ -15,11 +15,6 @@
 // specific language governing permissions and limitations
 // under the License.
 
-using System;
-using System.Threading;
-using Org.Apache.REEF.Wake.Remote;
-using Org.Apache.REEF.Tang.Annotations;
-
 namespace Org.Apache.REEF.Network.Group.Driver.Impl
 {
     /// <summary>

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Driver/Impl/TaskStarter.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Driver/Impl/TaskStarter.cs b/lang/cs/Org.Apache.REEF.Network/Group/Driver/Impl/TaskStarter.cs
index 27173a5..50c9500 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Driver/Impl/TaskStarter.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Driver/Impl/TaskStarter.cs
@@ -23,6 +23,7 @@ using Org.Apache.REEF.Driver.Context;
 using Org.Apache.REEF.Network.Utilities;
 using Org.Apache.REEF.Tang.Implementations.Configuration;
 using Org.Apache.REEF.Tang.Interface;
+using Org.Apache.REEF.Utilities.Attributes;
 using Org.Apache.REEF.Utilities.Logging;
 
 namespace Org.Apache.REEF.Network.Group.Driver.Impl
@@ -30,7 +31,7 @@ namespace Org.Apache.REEF.Network.Group.Driver.Impl
     /// <summary>
     /// Helper class to start Group Communication tasks.
     /// </summary>
-    public class TaskStarter
+    public sealed class TaskStarter
     {
         private static readonly Logger LOGGER = Logger.GetLogger(typeof(TaskStarter));
 

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/BroadcastOperatorSpec.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/BroadcastOperatorSpec.cs b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/BroadcastOperatorSpec.cs
index 0b6926d..1d45d7f 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/BroadcastOperatorSpec.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/BroadcastOperatorSpec.cs
@@ -18,6 +18,7 @@
 using System;
 using Org.Apache.REEF.Tang.Implementations.Configuration;
 using Org.Apache.REEF.Tang.Interface;
+using Org.Apache.REEF.Utilities.Attributes;
 
 namespace Org.Apache.REEF.Network.Group.Operators.Impl
 {
@@ -25,7 +26,8 @@ namespace Org.Apache.REEF.Network.Group.Operators.Impl
     /// The specification used to define Broadcast Operators.
     /// </summary>
     /// TODO[REEF-842] Act on the obsoletes
-    public class BroadcastOperatorSpec : IOperatorSpec
+    [Private]
+    public sealed class BroadcastOperatorSpec : IOperatorSpec
     {
         /// <summary>
         /// Specification for Broadcast Operator

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/BroadcastReceiver.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/BroadcastReceiver.cs b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/BroadcastReceiver.cs
index 10279f2..6152e05 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/BroadcastReceiver.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/BroadcastReceiver.cs
@@ -23,6 +23,7 @@ using Org.Apache.REEF.Network.Group.Task;
 using Org.Apache.REEF.Network.Group.Task.Impl;
 using Org.Apache.REEF.Tang.Annotations;
 using Org.Apache.REEF.Network.Group.Pipelining;
+using Org.Apache.REEF.Utilities.Attributes;
 using Org.Apache.REEF.Utilities.Logging;
 
 namespace Org.Apache.REEF.Network.Group.Operators.Impl
@@ -31,6 +32,7 @@ namespace Org.Apache.REEF.Network.Group.Operators.Impl
     /// Group Communication Operator used to receive broadcast messages in pipelined fashion.
     /// </summary>
     /// <typeparam name="T">The type of message being sent.</typeparam>
+    [Private]
     public sealed class BroadcastReceiver<T> : IBroadcastReceiver<T>, IGroupCommOperatorInternal
     {
         private const int PipelineVersion = 2;

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/BroadcastSender.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/BroadcastSender.cs b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/BroadcastSender.cs
index 94eadeb..279dd33 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/BroadcastSender.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/BroadcastSender.cs
@@ -23,6 +23,7 @@ using Org.Apache.REEF.Network.Group.Task;
 using Org.Apache.REEF.Network.Group.Task.Impl;
 using Org.Apache.REEF.Tang.Annotations;
 using Org.Apache.REEF.Network.Group.Pipelining;
+using Org.Apache.REEF.Utilities.Attributes;
 using Org.Apache.REEF.Utilities.Logging;
 
 namespace Org.Apache.REEF.Network.Group.Operators.Impl
@@ -31,6 +32,7 @@ namespace Org.Apache.REEF.Network.Group.Operators.Impl
     /// Group Communication Operator used to send messages to child Tasks in pipelined fashion.
     /// </summary>
     /// <typeparam name="T">The message type</typeparam>
+    [Private]
     public sealed class BroadcastSender<T> : IBroadcastSender<T>, IGroupCommOperatorInternal
     {
         private static readonly Logger Logger = Logger.GetLogger(typeof(BroadcastSender<T>));

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/PipelinedReduceFunction.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/PipelinedReduceFunction.cs b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/PipelinedReduceFunction.cs
index 6d0db50..4016ae2 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/PipelinedReduceFunction.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/PipelinedReduceFunction.cs
@@ -17,6 +17,7 @@
 
 using System.Collections.Generic;
 using Org.Apache.REEF.Network.Group.Pipelining;
+using Org.Apache.REEF.Utilities.Attributes;
 
 namespace Org.Apache.REEF.Network.Group.Operators.Impl
 {
@@ -24,7 +25,8 @@ namespace Org.Apache.REEF.Network.Group.Operators.Impl
     /// The class used to aggregate pipelined messages sent by ReduceSenders.
     /// </summary>
     /// <typeparam name="T">The message type.</typeparam>
-    public class PipelinedReduceFunction<T> : IReduceFunction<PipelineMessage<T>>
+    [Private]
+    public sealed class PipelinedReduceFunction<T> : IReduceFunction<PipelineMessage<T>>
     {
         /// <summary>
         /// The base reduce function class that operates on actual message type T.

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceFunction.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceFunction.cs b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceFunction.cs
index 3f5ae92..e4b1ec9 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceFunction.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceFunction.cs
@@ -18,10 +18,12 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using Org.Apache.REEF.Utilities.Attributes;
 
 namespace Org.Apache.REEF.Network.Group.Operators.Impl
 {
-    public class ReduceFunction<T> : IReduceFunction<T>
+    [Private]
+    public sealed class ReduceFunction<T> : IReduceFunction<T>
     {
         private readonly Func<T, T, T> _reduceFunction;
         private readonly T _initialValue;

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceOperatorSpec.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceOperatorSpec.cs b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceOperatorSpec.cs
index 2dd2579..b3fc820 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceOperatorSpec.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceOperatorSpec.cs
@@ -16,11 +16,9 @@
 // under the License.
 
 using System;
-using Org.Apache.REEF.Wake.Remote;
-using Org.Apache.REEF.Network.Group.Pipelining.Impl;
-using Org.Apache.REEF.Network.Group.Pipelining;
 using Org.Apache.REEF.Tang.Implementations.Configuration;
 using Org.Apache.REEF.Tang.Interface;
+using Org.Apache.REEF.Utilities.Attributes;
 
 namespace Org.Apache.REEF.Network.Group.Operators.Impl
 {
@@ -28,7 +26,8 @@ namespace Org.Apache.REEF.Network.Group.Operators.Impl
     /// The specification used to define Reduce Group Communication Operators.
     /// </summary>
     /// TODO[REEF-842] Act on the obsoletes
-    public class ReduceOperatorSpec : IOperatorSpec
+    [Private]
+    public sealed class ReduceOperatorSpec : IOperatorSpec
     {
         /// <summary>
         /// Creates a new ReduceOperatorSpec.

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceReceiver.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceReceiver.cs b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceReceiver.cs
index 685c989..d3a0102 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceReceiver.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceReceiver.cs
@@ -23,6 +23,7 @@ using Org.Apache.REEF.Network.Group.Task;
 using Org.Apache.REEF.Network.Group.Task.Impl;
 using Org.Apache.REEF.Tang.Annotations;
 using Org.Apache.REEF.Network.Group.Pipelining;
+using Org.Apache.REEF.Utilities.Attributes;
 using Org.Apache.REEF.Utilities.Logging;
 
 namespace Org.Apache.REEF.Network.Group.Operators.Impl
@@ -31,6 +32,7 @@ namespace Org.Apache.REEF.Network.Group.Operators.Impl
     /// Group Communication operator used to receive and reduce messages in pipelined fashion.
     /// </summary>
     /// <typeparam name="T">The message type</typeparam>
+    [Private]
     public sealed class ReduceReceiver<T> : IReduceReceiver<T>, IGroupCommOperatorInternal
     {
         private static readonly Logger Logger = Logger.GetLogger(typeof(ReduceReceiver<T>));

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceSender.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceSender.cs b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceSender.cs
index 8947c90..d2d1e5c 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceSender.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ReduceSender.cs
@@ -24,6 +24,7 @@ using Org.Apache.REEF.Network.Group.Task;
 using Org.Apache.REEF.Network.Group.Task.Impl;
 using Org.Apache.REEF.Tang.Annotations;
 using Org.Apache.REEF.Network.Group.Pipelining;
+using Org.Apache.REEF.Utilities.Attributes;
 using Org.Apache.REEF.Utilities.Logging;
 
 namespace Org.Apache.REEF.Network.Group.Operators.Impl
@@ -32,6 +33,7 @@ namespace Org.Apache.REEF.Network.Group.Operators.Impl
     /// Group Communication Operator used to send messages to be reduced by the ReduceReceiver in pipelined fashion.
     /// </summary>
     /// <typeparam name="T">The message type</typeparam>
+    [Private]
     public sealed class ReduceSender<T> : IReduceSender<T>, IGroupCommOperatorInternal
     {
         private static readonly Logger Logger = Logger.GetLogger(typeof(ReduceSender<T>));

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ScatterOperatorSpec.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ScatterOperatorSpec.cs b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ScatterOperatorSpec.cs
index 44d314a..526d0e6 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ScatterOperatorSpec.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ScatterOperatorSpec.cs
@@ -18,6 +18,7 @@
 using System;
 using Org.Apache.REEF.Tang.Implementations.Configuration;
 using Org.Apache.REEF.Tang.Interface;
+using Org.Apache.REEF.Utilities.Attributes;
 
 namespace Org.Apache.REEF.Network.Group.Operators.Impl
 {
@@ -25,7 +26,8 @@ namespace Org.Apache.REEF.Network.Group.Operators.Impl
     /// The specification used to define Scatter Group Communication Operators.
     /// </summary>
     /// TODO[REEF-842] Act on the obsoletes
-    public class ScatterOperatorSpec : IOperatorSpec
+    [Private]
+    public sealed class ScatterOperatorSpec : IOperatorSpec
     {
         /// <summary>
         /// Creates a new ScatterOperatorSpec.

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ScatterReceiver.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ScatterReceiver.cs b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ScatterReceiver.cs
index 9558f7e..ac8de01 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ScatterReceiver.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ScatterReceiver.cs
@@ -23,6 +23,7 @@ using Org.Apache.REEF.Network.Group.Driver.Impl;
 using Org.Apache.REEF.Network.Group.Task;
 using Org.Apache.REEF.Network.Group.Task.Impl;
 using Org.Apache.REEF.Tang.Annotations;
+using Org.Apache.REEF.Utilities.Attributes;
 
 namespace Org.Apache.REEF.Network.Group.Operators.Impl
 {
@@ -31,6 +32,7 @@ namespace Org.Apache.REEF.Network.Group.Operators.Impl
     /// from the IScatterSender.
     /// </summary>
     /// <typeparam name="T">The message type</typeparam>
+    [Private]
     public sealed class ScatterReceiver<T> : IScatterReceiver<T>, IGroupCommOperatorInternal
     {
         private const int DefaultVersion = 1;

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ScatterSender.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ScatterSender.cs b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ScatterSender.cs
index b742a76..0f2cf83 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ScatterSender.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Operators/Impl/ScatterSender.cs
@@ -15,7 +15,6 @@
 // specific language governing permissions and limitations
 // under the License.
 
-using System;
 using System.Collections.Generic;
 using System.Reactive;
 using Org.Apache.REEF.Network.Group.Config;
@@ -23,6 +22,7 @@ using Org.Apache.REEF.Network.Group.Driver.Impl;
 using Org.Apache.REEF.Network.Group.Task;
 using Org.Apache.REEF.Network.Group.Task.Impl;
 using Org.Apache.REEF.Tang.Annotations;
+using Org.Apache.REEF.Utilities.Attributes;
 
 namespace Org.Apache.REEF.Network.Group.Operators.Impl
 {
@@ -31,6 +31,7 @@ namespace Org.Apache.REEF.Network.Group.Operators.Impl
     /// of the IScatterReceivers.
     /// </summary>
     /// <typeparam name="T">The message type</typeparam>
+    [Private]
     public sealed class ScatterSender<T> : IScatterSender<T>, IGroupCommOperatorInternal
     {
         private const int DefaultVersion = 1;

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Pipelining/Impl/DefaultPipelineDataConverter.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Pipelining/Impl/DefaultPipelineDataConverter.cs b/lang/cs/Org.Apache.REEF.Network/Group/Pipelining/Impl/DefaultPipelineDataConverter.cs
index 92e0a09..c8d95b2 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Pipelining/Impl/DefaultPipelineDataConverter.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Pipelining/Impl/DefaultPipelineDataConverter.cs
@@ -16,8 +16,6 @@
 // under the License.
 
 using System.Collections.Generic;
-using Org.Apache.REEF.Tang.Implementations.Tang;
-using Org.Apache.REEF.Tang.Interface;
 using Org.Apache.REEF.Tang.Annotations;
 
 namespace Org.Apache.REEF.Network.Group.Pipelining.Impl
@@ -27,7 +25,7 @@ namespace Org.Apache.REEF.Network.Group.Pipelining.Impl
     /// This basically is a non-pipelined implementation that just packs the whole message in one single PipelineMessage
     /// </summary>
     /// <typeparam name="T">The message type</typeparam>
-    public class DefaultPipelineDataConverter<T> : IPipelineDataConverter<T>
+    public sealed class DefaultPipelineDataConverter<T> : IPipelineDataConverter<T>
     {
         [Inject]
         public DefaultPipelineDataConverter()

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Pipelining/PipelineMessage.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Pipelining/PipelineMessage.cs b/lang/cs/Org.Apache.REEF.Network/Group/Pipelining/PipelineMessage.cs
index e6c0025..f4665a5 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Pipelining/PipelineMessage.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Pipelining/PipelineMessage.cs
@@ -21,7 +21,7 @@ namespace Org.Apache.REEF.Network.Group.Pipelining
     /// the message for pipelined communication
     /// </summary>
     /// <typeparam name="T">The message type</typeparam>
-    public class PipelineMessage<T>
+    public sealed class PipelineMessage<T>
     {
         /// <summary>
         /// Create new PipelineMessage.

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Pipelining/PipelineMessageCodec.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Pipelining/PipelineMessageCodec.cs b/lang/cs/Org.Apache.REEF.Network/Group/Pipelining/PipelineMessageCodec.cs
index c8a25fa..b23942d 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Pipelining/PipelineMessageCodec.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Pipelining/PipelineMessageCodec.cs
@@ -26,14 +26,14 @@ namespace Org.Apache.REEF.Network.Group.Pipelining
     /// The codec for PipelineMessage
     /// </summary>
     /// <typeparam name="T">The message type</typeparam>
-    public class PipelineMessageCodec<T> : ICodec<PipelineMessage<T>>
+    public sealed class PipelineMessageCodec<T> : ICodec<PipelineMessage<T>>
     {
         /// <summary>
         /// Creates new PipelineMessageCodec
         /// </summary>
         /// <param name="baseCodec">The codec for actual message in PipelineMessage</param>
         [Inject]
-        public PipelineMessageCodec(ICodec<T> baseCodec)
+        private PipelineMessageCodec(ICodec<T> baseCodec)
         {
             BaseCodec = baseCodec;
         }

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Task/Impl/CommunicationGroupClient.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Task/Impl/CommunicationGroupClient.cs b/lang/cs/Org.Apache.REEF.Network/Group/Task/Impl/CommunicationGroupClient.cs
index ad4f01c..f5c72c3 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Task/Impl/CommunicationGroupClient.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Task/Impl/CommunicationGroupClient.cs
@@ -33,7 +33,7 @@ namespace Org.Apache.REEF.Network.Group.Task.Impl
     /// <summary>
     ///  Used by Tasks to fetch Group Communication Operators in the group configured by the driver.
     /// </summary>
-    public class CommunicationGroupClient : ICommunicationGroupClientInternal
+    internal sealed class CommunicationGroupClient : ICommunicationGroupClientInternal
     {
         private readonly Logger LOGGER = Logger.GetLogger(typeof(CommunicationGroupClient));
         private readonly Dictionary<string, object> _operators;

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Topology/FlatTopology.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Topology/FlatTopology.cs b/lang/cs/Org.Apache.REEF.Network/Group/Topology/FlatTopology.cs
index 560c3c6..bf606d6 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Topology/FlatTopology.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Topology/FlatTopology.cs
@@ -32,7 +32,7 @@ namespace Org.Apache.REEF.Network.Group.Topology
     /// nodes: the root and all children extending from the root.
     /// </summary>
     /// <typeparam name="T">The message type</typeparam>
-    public class FlatTopology<T> : ITopology<T> 
+    internal sealed class FlatTopology<T> : ITopology<T> 
     {
         private readonly string _groupName;
         private readonly string _operatorName;

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Topology/TaskNode.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Topology/TaskNode.cs b/lang/cs/Org.Apache.REEF.Network/Group/Topology/TaskNode.cs
index 9dc54c5..62e1578 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Topology/TaskNode.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Topology/TaskNode.cs
@@ -22,7 +22,7 @@ namespace Org.Apache.REEF.Network.Group.Topology
     /// <summary>
     /// Represents a node in the operator topology graph.
     /// </summary>
-    internal class TaskNode
+    internal sealed class TaskNode
     {
         private string _groupName;
         private string _operatorName;

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Group/Topology/TreeTopology.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Group/Topology/TreeTopology.cs b/lang/cs/Org.Apache.REEF.Network/Group/Topology/TreeTopology.cs
index f79e5d3..6358cf7 100644
--- a/lang/cs/Org.Apache.REEF.Network/Group/Topology/TreeTopology.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Group/Topology/TreeTopology.cs
@@ -27,7 +27,7 @@ using Org.Apache.REEF.Tang.Implementations.Configuration;
 
 namespace Org.Apache.REEF.Network.Group.Topology
 {
-    public class TreeTopology<T> : ITopology<T> 
+    internal sealed class TreeTopology<T> : ITopology<T> 
     {
         private readonly string _groupName;
         private readonly string _operatorName;

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingLookupRequestCodec.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingLookupRequestCodec.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingLookupRequestCodec.cs
index 8dcb459..e82c0f1 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingLookupRequestCodec.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingLookupRequestCodec.cs
@@ -22,7 +22,7 @@ using Org.Apache.REEF.Wake.Remote;
 
 namespace Org.Apache.REEF.Network.Naming.Codec
 {
-    internal class NamingLookupRequestCodec : ICodec<NamingLookupRequest>
+    internal sealed class NamingLookupRequestCodec : ICodec<NamingLookupRequest>
     {
         public byte[] Encode(NamingLookupRequest obj)
         {

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingLookupResponseCodec.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingLookupResponseCodec.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingLookupResponseCodec.cs
index 7142b28..7c7bbe4 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingLookupResponseCodec.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingLookupResponseCodec.cs
@@ -25,7 +25,7 @@ using Org.Apache.REEF.Wake.Remote;
 
 namespace Org.Apache.REEF.Network.Naming.Codec
 {
-    internal class NamingLookupResponseCodec : ICodec<NamingLookupResponse>
+    internal sealed class NamingLookupResponseCodec : ICodec<NamingLookupResponse>
     {
         public byte[] Encode(NamingLookupResponse obj)
         {

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingRegisterRequestCodec.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingRegisterRequestCodec.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingRegisterRequestCodec.cs
index 90e3bc4..2dc7afe 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingRegisterRequestCodec.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingRegisterRequestCodec.cs
@@ -23,7 +23,7 @@ using Org.Apache.REEF.Wake.Remote;
 
 namespace Org.Apache.REEF.Network.Naming.Codec
 {
-    internal class NamingRegisterRequestCodec : ICodec<NamingRegisterRequest>
+    internal sealed class NamingRegisterRequestCodec : ICodec<NamingRegisterRequest>
     {
         public byte[] Encode(NamingRegisterRequest obj)
         {

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingRegisterResponseCodec.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingRegisterResponseCodec.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingRegisterResponseCodec.cs
index 0dc78e6..8dc0965 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingRegisterResponseCodec.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingRegisterResponseCodec.cs
@@ -20,7 +20,7 @@ using Org.Apache.REEF.Wake.Remote;
 
 namespace Org.Apache.REEF.Network.Naming.Codec
 {
-    internal class NamingRegisterResponseCodec : ICodec<NamingRegisterResponse>
+    internal sealed class NamingRegisterResponseCodec : ICodec<NamingRegisterResponse>
     {
         private readonly NamingRegisterRequestCodec _codec;
 

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingUnregisterRequestCodec.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingUnregisterRequestCodec.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingUnregisterRequestCodec.cs
index b345c7d..57b68b7 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingUnregisterRequestCodec.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Codec/NamingUnregisterRequestCodec.cs
@@ -22,7 +22,7 @@ using Org.Apache.REEF.Wake.Remote;
 
 namespace Org.Apache.REEF.Network.Naming.Codec
 {
-    internal class NamingUnregisterRequestCodec : ICodec<NamingUnregisterRequest>
+    internal sealed class NamingUnregisterRequestCodec : ICodec<NamingUnregisterRequest>
     {
         public byte[] Encode(NamingUnregisterRequest obj)
         {

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingEvent.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingEvent.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingEvent.cs
index 76a3b81..97c5d30 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingEvent.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingEvent.cs
@@ -23,7 +23,7 @@ namespace Org.Apache.REEF.Network.Naming.Events
     /// Event representing a lookup, registering, or unregistering of 
     /// an identifier with the Name Service.
     /// </summary>
-    internal class NamingEvent
+    internal abstract class NamingEvent
     {
         /// <summary>
         /// The link for communication between the NameClient and NameServer

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingGetAllRequest.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingGetAllRequest.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingGetAllRequest.cs
index 9d782b4..a9913ff 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingGetAllRequest.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingGetAllRequest.cs
@@ -21,7 +21,7 @@ namespace Org.Apache.REEF.Network.Naming.Events
     /// Event to request all registered identifiers and their mapped
     /// IPEndpoints
     /// </summary>
-    internal class NamingGetAllRequest : NamingEvent
+    internal sealed class NamingGetAllRequest : NamingEvent
     {
     }
 }

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingGetAllResponse.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingGetAllResponse.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingGetAllResponse.cs
index dc79d7e..b2554ee 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingGetAllResponse.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingGetAllResponse.cs
@@ -24,7 +24,7 @@ namespace Org.Apache.REEF.Network.Naming.Events
     /// Response event for looking up all registered identifiers and their
     /// mapped IPEndpoints
     /// </summary>
-    internal class NamingGetAllResponse : NamingEvent
+    internal sealed class NamingGetAllResponse : NamingEvent
     {
         public NamingGetAllResponse(List<NameAssignment> assignments)
         {

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingLookupRequest.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingLookupRequest.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingLookupRequest.cs
index fe23170..0f1eb9b 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingLookupRequest.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingLookupRequest.cs
@@ -22,7 +22,7 @@ namespace Org.Apache.REEF.Network.Naming.Events
     /// <summary>
     /// Event to request look up of IPEndpoints in the Name Service
     /// </summary>
-    internal class NamingLookupRequest : NamingEvent
+    internal sealed class NamingLookupRequest : NamingEvent
     {
         public NamingLookupRequest(List<string> ids)
         {

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingLookupResponse.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingLookupResponse.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingLookupResponse.cs
index 8299add..ebf6067 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingLookupResponse.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingLookupResponse.cs
@@ -24,7 +24,7 @@ namespace Org.Apache.REEF.Network.Naming.Events
     /// <summary>
     /// Event for lookup response in Name Service.
     /// </summary>
-    internal class NamingLookupResponse : NamingEvent
+    internal sealed class NamingLookupResponse : NamingEvent
     {
         public NamingLookupResponse(List<NameAssignment> nameAssignments)
         {

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingRegisterRequest.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingRegisterRequest.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingRegisterRequest.cs
index 3be9c20..d39086c 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingRegisterRequest.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingRegisterRequest.cs
@@ -22,7 +22,7 @@ namespace Org.Apache.REEF.Network.Naming.Events
     /// <summary>
     /// Event to request registering an identifier and endpoint with the Name Service
     /// </summary>
-    internal class NamingRegisterRequest : NamingEvent
+    internal sealed class NamingRegisterRequest : NamingEvent
     {
         public NamingRegisterRequest(NameAssignment nameAssignment)
         {

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingRegisterResponse.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingRegisterResponse.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingRegisterResponse.cs
index 4383cb8..a73645f 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingRegisterResponse.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingRegisterResponse.cs
@@ -20,7 +20,7 @@ namespace Org.Apache.REEF.Network.Naming.Events
     /// <summary>
     /// Response event for registering an IPEndpoint with the Name Service
     /// </summary>
-    internal class NamingRegisterResponse : NamingEvent
+    internal sealed class NamingRegisterResponse : NamingEvent
     {
         public NamingRegisterResponse(NamingRegisterRequest request)
         {

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingUnregisterRequest.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingUnregisterRequest.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingUnregisterRequest.cs
index 733085d..508f6e0 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingUnregisterRequest.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingUnregisterRequest.cs
@@ -20,7 +20,7 @@ namespace Org.Apache.REEF.Network.Naming.Events
     /// <summary>
     /// Event to request unregistering of an IPEndpoint with the Name Service
     /// </summary>
-    internal class NamingUnregisterRequest : NamingEvent
+    internal sealed class NamingUnregisterRequest : NamingEvent
     {
         public NamingUnregisterRequest(string identifier)
         {

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingUnregisterResponse.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingUnregisterResponse.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingUnregisterResponse.cs
index da03492..3d385fa 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingUnregisterResponse.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Events/NamingUnregisterResponse.cs
@@ -20,7 +20,7 @@ namespace Org.Apache.REEF.Network.Naming.Events
     /// <summary>
     /// Response event for unregistering of an IPEndpoint with the Name Service
     /// </summary>
-    internal class NamingUnregisterResponse : NamingEvent
+    internal sealed class NamingUnregisterResponse : NamingEvent
     {
         public NamingUnregisterResponse(NamingUnregisterRequest request)
         {

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/NameCache.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/NameCache.cs b/lang/cs/Org.Apache.REEF.Network/Naming/NameCache.cs
index 1c2873a..12cb0c6 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/NameCache.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/NameCache.cs
@@ -27,7 +27,7 @@ namespace Org.Apache.REEF.Network.Naming
     /// <summary>
     /// Cache class for caching IpEndPoint Lookups
     /// </summary>
-    internal class NameCache
+    internal sealed class NameCache
     {
         private readonly MemoryCache _cache;
 

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/NameClient.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/NameClient.cs b/lang/cs/Org.Apache.REEF.Network/Naming/NameClient.cs
index 93bc52f..77b069d 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/NameClient.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/NameClient.cs
@@ -40,7 +40,7 @@ namespace Org.Apache.REEF.Network.Naming
     /// Client for the Reef name service. 
     /// Used to register, unregister, and lookup IP Addresses of known hosts.
     /// </summary>
-    public class NameClient : INameClient
+    public sealed class NameClient : INameClient
     {
         private static readonly Logger _logger = Logger.GetLogger(typeof(NameClient));
 
@@ -218,20 +218,13 @@ namespace Org.Apache.REEF.Network.Naming
         /// </summary>
         public void Dispose()
         {
-            Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-
-        protected virtual void Dispose(bool disposing)
-        {
             if (_disposed)
             {
                 return;
             }
-            if (disposing)
-            {
-                _client.Dispose();
-            }
+
+             _client.Dispose();
+            _client = null;
             _disposed = true;
         }
 

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/NameLookupClient.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/NameLookupClient.cs b/lang/cs/Org.Apache.REEF.Network/Naming/NameLookupClient.cs
index 29edb5f..b9f4391 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/NameLookupClient.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/NameLookupClient.cs
@@ -29,7 +29,7 @@ namespace Org.Apache.REEF.Network.Naming
     /// <summary>
     /// Helper class to send lookup events to the name server
     /// </summary>
-    internal class NameLookupClient
+    internal sealed class NameLookupClient
     {
         private readonly TransportClient<NamingEvent> _client;
         private readonly BlockingCollection<NamingLookupResponse> _lookupResponseQueue;

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/NameRegisterClient.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/NameRegisterClient.cs b/lang/cs/Org.Apache.REEF.Network/Naming/NameRegisterClient.cs
index 8c75fdc..db23e1a 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/NameRegisterClient.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/NameRegisterClient.cs
@@ -26,7 +26,7 @@ namespace Org.Apache.REEF.Network.Naming
     /// <summary>
     /// Helper class to send register and unregister events to the NameServer.
     /// </summary>
-    internal class NameRegisterClient
+    internal sealed class NameRegisterClient
     {
         private readonly TransportClient<NamingEvent> _client;
         private readonly BlockingCollection<NamingRegisterResponse> _registerResponseQueue;

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/NameServer.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/NameServer.cs b/lang/cs/Org.Apache.REEF.Network/Naming/NameServer.cs
index cdcfb47..ff34602 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/NameServer.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/NameServer.cs
@@ -38,7 +38,7 @@ namespace Org.Apache.REEF.Network.Naming
     /// Service that manages names and IPEndpoints for well known hosts.
     /// Can register, unregister, and look up IPAddresses using a string identifier.
     /// </summary>
-    public class NameServer : INameServer
+    public sealed class NameServer : INameServer
     {
         private static readonly Logger _logger = Logger.GetLogger(typeof(NameServer));
 

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingGetAllRequestObserver.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingGetAllRequestObserver.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingGetAllRequestObserver.cs
index 636ab0b..d444ee7 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingGetAllRequestObserver.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingGetAllRequestObserver.cs
@@ -27,7 +27,7 @@ namespace Org.Apache.REEF.Network.Naming.Observers
     /// Gets all of the identifiers and their mapped IPEndpoints registered 
     /// with the NameServer.
     /// </summary>
-    internal class NamingGetAllRequestObserver : AbstractObserver<NamingGetAllRequest>
+    internal sealed class NamingGetAllRequestObserver : AbstractObserver<NamingGetAllRequest>
     {
         private readonly NameServer _server;
 

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingLookupRequestObserver.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingLookupRequestObserver.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingLookupRequestObserver.cs
index d26ed42..b45fe6f 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingLookupRequestObserver.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingLookupRequestObserver.cs
@@ -25,7 +25,7 @@ namespace Org.Apache.REEF.Network.Naming.Observers
     /// <summary>
     /// Handler for looking up IPEndpoints registered with the NameServer
     /// </summary>
-    internal class NamingLookupRequestObserver : AbstractObserver<NamingLookupRequest>
+    internal sealed class NamingLookupRequestObserver : AbstractObserver<NamingLookupRequest>
     {
         private readonly NameServer _server;
 

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingRegisterRequestObserver.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingRegisterRequestObserver.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingRegisterRequestObserver.cs
index e752cf5..40d337d 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingRegisterRequestObserver.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingRegisterRequestObserver.cs
@@ -24,7 +24,7 @@ namespace Org.Apache.REEF.Network.Naming.Observers
     /// <summary>
     /// Handler for registering an identifier and endpoint with the Name Service
     /// </summary>
-    internal class NamingRegisterRequestObserver : AbstractObserver<NamingRegisterRequest>
+    internal sealed class NamingRegisterRequestObserver : AbstractObserver<NamingRegisterRequest>
     {
         private readonly NameServer _server;
 

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingUnregisterRequestObserver.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingUnregisterRequestObserver.cs b/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingUnregisterRequestObserver.cs
index 7e34703..16c585f 100644
--- a/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingUnregisterRequestObserver.cs
+++ b/lang/cs/Org.Apache.REEF.Network/Naming/Observers/NamingUnregisterRequestObserver.cs
@@ -23,7 +23,7 @@ namespace Org.Apache.REEF.Network.Naming.Observers
     /// <summary>
     /// Handler for unregistering an identifier with the NameServer
     /// </summary>
-    internal class NamingUnregisterRequestObserver : AbstractObserver<NamingUnregisterRequest>
+    internal sealed class NamingUnregisterRequestObserver : AbstractObserver<NamingUnregisterRequest>
     {
         private readonly NameServer _server;
 

http://git-wip-us.apache.org/repos/asf/reef/blob/8da526af/lang/cs/Org.Apache.REEF.Network/Org.Apache.REEF.Network.csproj
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Network/Org.Apache.REEF.Network.csproj b/lang/cs/Org.Apache.REEF.Network/Org.Apache.REEF.Network.csproj
index f8a189a..8b9648a 100644
--- a/lang/cs/Org.Apache.REEF.Network/Org.Apache.REEF.Network.csproj
+++ b/lang/cs/Org.Apache.REEF.Network/Org.Apache.REEF.Network.csproj
@@ -185,9 +185,6 @@ under the License.
       <Name>Org.Apache.REEF.Wake</Name>
     </ProjectReference>
   </ItemGroup>
-  <ItemGroup>
-    <WCFMetadata Include="Service References\" />
-  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
   <Import Project="$(PackagesDir)\StyleCop.MSBuild.4.7.49.1\build\StyleCop.MSBuild.Targets" Condition="Exists('$(PackagesDir)\StyleCop.MSBuild.4.7.49.1\build\StyleCop.MSBuild.Targets')" />
@@ -198,4 +195,4 @@ under the License.
   <Target Name="AfterBuild">
   </Target>
   -->
-</Project>
+</Project>
\ No newline at end of file