You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by we...@apache.org on 2015/02/07 04:11:30 UTC

[2/3] incubator-reef git commit: [REEF-143] Refactor REEF.Examples into one project This is to consolidate all reef examples into one project

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/Properties/AssemblyInfo.cs b/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/Properties/AssemblyInfo.cs
deleted file mode 100644
index 946ee33..0000000
--- a/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/Properties/AssemblyInfo.cs
+++ /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.
- */
-
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Org.Apache.REEF.Examples.RetainedEvalCLRBridge")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Org.Apache.REEF.Examples.RetainedEvalCLRBridge")]
-[assembly: AssemblyCopyright("Copyright ©  2015")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("636170aa-ea18-45bf-b345-83dae7fb6a03")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/handler/RetainedEvalActiveContextHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/handler/RetainedEvalActiveContextHandler.cs b/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/handler/RetainedEvalActiveContextHandler.cs
deleted file mode 100644
index 8bcd5c6..0000000
--- a/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/handler/RetainedEvalActiveContextHandler.cs
+++ /dev/null
@@ -1,56 +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.
- */
-
-using Org.Apache.REEF.Driver.Context;
-using Org.Apache.REEF.Tang.Implementations.Tang;
-using Org.Apache.REEF.Tang.Interface;
-using Org.Apache.REEF.Tang.Util;
-using Org.Apache.REEF.Tasks;
-using System;
-using Org.Apache.REEF.Examples.Tasks.ShellTask;
-
-namespace Org.Apache.REEF.Examples.RetainedCLREvalBridge.Handler
-{
-    public class RetainedEvalActiveContextHandler : IObserver<IActiveContext>
-    {
-        public void OnNext(IActiveContext activeContext)
-        {
-            ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();
-            cb.AddConfiguration(TaskConfiguration.ConfigurationModule
-                .Set(TaskConfiguration.Identifier, "bridgeCLRShellTask_" + DateTime.Now.Ticks)
-                .Set(TaskConfiguration.Task, GenericType<ShellTask>.Class)
-                .Build());
-            cb.BindNamedParameter<ShellTask.Command, string>(GenericType<ShellTask.Command>.Class, "echo");
-
-            IConfiguration taskConfiguration = cb.Build();
-
-            activeContext.SubmitTask(taskConfiguration);
-        }
-
-        public void OnError(Exception error)
-        {
-            throw new NotImplementedException();
-        }
-
-        public void OnCompleted()
-        {
-            throw new NotImplementedException();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/handler/RetainedEvalAllocatedEvaluatorHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/handler/RetainedEvalAllocatedEvaluatorHandler.cs b/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/handler/RetainedEvalAllocatedEvaluatorHandler.cs
deleted file mode 100644
index d4379c3..0000000
--- a/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/handler/RetainedEvalAllocatedEvaluatorHandler.cs
+++ /dev/null
@@ -1,48 +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.
- */
-
-using Org.Apache.REEF.Driver.Context;
-using Org.Apache.REEF.Driver.Evaluator;
-using Org.Apache.REEF.Tang.Interface;
-using System;
-
-namespace Org.Apache.REEF.Examples.RetainedCLREvalBridge.Handler
-{
-    public class RetainedEvalAllocatedEvaluatorHandler : IObserver<IAllocatedEvaluator>
-    {
-        public void OnCompleted()
-        {
-            throw new NotImplementedException();
-        }
-
-        public void OnError(Exception error)
-        {
-            throw new NotImplementedException();
-        }
-
-        public void OnNext(IAllocatedEvaluator allocatedEvaluator)
-        {
-            IConfiguration contextConfiguration = ContextConfiguration.ConfigurationModule
-                    .Set(ContextConfiguration.Identifier, "RetainedEvalCLRBridgeContextId")
-                    .Build();
-
-            allocatedEvaluator.SubmitContext(contextConfiguration);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/handler/RetainedEvalEvaluatorRequestorHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/handler/RetainedEvalEvaluatorRequestorHandler.cs b/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/handler/RetainedEvalEvaluatorRequestorHandler.cs
deleted file mode 100644
index b4d5084..0000000
--- a/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/handler/RetainedEvalEvaluatorRequestorHandler.cs
+++ /dev/null
@@ -1,48 +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.
- */
-
-using Org.Apache.REEF.Driver.Bridge;
-using Org.Apache.REEF.Driver.Evaluator;
-using System;
-
-namespace Org.Apache.REEF.Examples.RetainedCLREvalBridge.Handler
-{
-    public class RetainedEvalEvaluatorRequestorHandler : IObserver<IEvaluatorRequestor>
-    {
-        public void OnNext(IEvaluatorRequestor requestor)
-        {
-            int evaluatorsNumber = 1;
-            int memory = 512;
-            string rack = "WonderlandRack";
-            EvaluatorRequest request = new EvaluatorRequest(evaluatorsNumber, memory, rack);
-
-            requestor.Submit(request);
-        }
-
-        public void OnCompleted()
-        {
-            throw new NotImplementedException();
-        }
-
-        public void OnError(Exception error)
-        {
-            throw new NotImplementedException();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/handler/RetainedEvalStartHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/handler/RetainedEvalStartHandler.cs b/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/handler/RetainedEvalStartHandler.cs
deleted file mode 100644
index 97a3645..0000000
--- a/lang/cs/Org.Apache.REEF.Examples.RetainedEvalCLRBridge/handler/RetainedEvalStartHandler.cs
+++ /dev/null
@@ -1,90 +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.
- */
-
-using Org.Apache.REEF.Driver;
-using Org.Apache.REEF.Driver.Bridge;
-using Org.Apache.REEF.Driver.Context;
-using Org.Apache.REEF.Driver.Evaluator;
-using Org.Apache.REEF.Tasks;
-using Org.Apache.REEF.Tang.Annotations;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Org.Apache.REEF.Examples.RetainedCLREvalBridge.Handler;
-using Org.Apache.REEF.Examples.Tasks.ShellTask;
-
-namespace Org.Apache.REEF.Examples.RetainedCLREvalBridge.Handler
-{
-    public class RetainedEvalStartHandler : IStartHandler
-    {
-        private static ClrSystemHandler<IEvaluatorRequestor> _evaluatorRequestorHandler;
-        private static ClrSystemHandler<IAllocatedEvaluator> _allocatedEvaluatorHandler;
-        private static ClrSystemHandler<IActiveContext> _activeContextHandler;
-
-        [Inject]
-        public RetainedEvalStartHandler()
-        {
-            CreateClassHierarchy();
-            Identifier = "RetainedEvalStartHandler";
-        }
-
-        public RetainedEvalStartHandler(string id)
-        {
-            Identifier = id;
-            CreateClassHierarchy();
-        }
-
-        public string Identifier { get; set; }
-
-        public IList<ulong> GetHandlers()
-        {
-            ulong[] handlers = Enumerable.Repeat(Constants.NullHandler, Constants.HandlersNumber).ToArray();
-
-            // initiate Evaluator Requestor handler
-            _evaluatorRequestorHandler = new ClrSystemHandler<IEvaluatorRequestor>();
-            handlers[Constants.Handlers[Constants.EvaluatorRequestorHandler]] = ClrHandlerHelper.CreateHandler(_evaluatorRequestorHandler);
-            Console.WriteLine("_evaluatorRequestorHandler initiated");
-            _evaluatorRequestorHandler.Subscribe(new RetainedEvalEvaluatorRequestorHandler());
-
-            // initiate Allocated Evaluator handler
-            _allocatedEvaluatorHandler = new ClrSystemHandler<IAllocatedEvaluator>();
-            handlers[Constants.Handlers[Constants.AllocatedEvaluatorHandler]] = ClrHandlerHelper.CreateHandler(_allocatedEvaluatorHandler);
-            Console.WriteLine("_allocatedEvaluatorHandler initiated");
-            _allocatedEvaluatorHandler.Subscribe(new RetainedEvalAllocatedEvaluatorHandler());
-
-            // initiate Active Context handler
-            _activeContextHandler = new ClrSystemHandler<IActiveContext>();
-            handlers[Constants.Handlers[Constants.ActiveContextHandler]] = ClrHandlerHelper.CreateHandler(_activeContextHandler);
-            Console.WriteLine("_activeContextHandler initiated");
-            _activeContextHandler.Subscribe(new RetainedEvalActiveContextHandler());
-
-            return handlers;
-        }
-
-        private void CreateClassHierarchy()
-        {
-            HashSet<string> clrDlls = new HashSet<string>();
-            clrDlls.Add(typeof(IDriver).Assembly.GetName().Name);
-            clrDlls.Add(typeof(ITask).Assembly.GetName().Name);
-            clrDlls.Add(typeof(ShellTask).Assembly.GetName().Name);
-
-            ClrHandlerHelper.GenerateClassHierarchy(clrDlls);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples.Tasks/FailedTask/FailedTask.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples.Tasks/FailedTask/FailedTask.cs b/lang/cs/Org.Apache.REEF.Examples.Tasks/FailedTask/FailedTask.cs
deleted file mode 100644
index aa489ce..0000000
--- a/lang/cs/Org.Apache.REEF.Examples.Tasks/FailedTask/FailedTask.cs
+++ /dev/null
@@ -1,45 +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.
- */
-
-using System;
-using System.Threading;
-using Org.Apache.REEF.Tang.Annotations;
-using Org.Apache.REEF.Tasks;
-
-namespace Org.Apache.REEF.Examples.Tasks.FailedTask
-{
-    public class FailedTask : ITask
-    {
-        [Inject]
-        public FailedTask()
-        {
-        }
-
-        public byte[] Call(byte[] memento)
-        {
-            Console.WriteLine("I am about to fail.");
-            Thread.Sleep(2 * 1000);
-            throw new ApplicationException("bite me.");
-        }
-
-        public void Dispose()
-        {
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples.Tasks/HelloTask/HelloService.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples.Tasks/HelloTask/HelloService.cs b/lang/cs/Org.Apache.REEF.Examples.Tasks/HelloTask/HelloService.cs
deleted file mode 100644
index e7734c1..0000000
--- a/lang/cs/Org.Apache.REEF.Examples.Tasks/HelloTask/HelloService.cs
+++ /dev/null
@@ -1,58 +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.
- */
-
-using System;
-using System.Collections.Generic;
-using Org.Apache.REEF.Services;
-using Org.Apache.REEF.Tang.Annotations;
-
-namespace Org.Apache.REEF.Examples.Tasks.HelloTask
-{
-    public class HelloService : IService
-    {
-        private IList<string> _guests;
-
-        [Inject]
-        public HelloService()
-        {
-            if (_guests == null)
-            {
-                _guests = new List<string>();
-                _guests.Add("MR.SMITH");
-            }
-        }
-
-        public IList<string> Guests
-        {
-            get
-            {
-                return _guests;
-            }
-        }
-
-        public void AddGuest(string guestName)
-        {
-            if (string.IsNullOrWhiteSpace(guestName))
-            {
-                throw new ArgumentException("can't do with empty name.");
-            }
-            Guests.Add(guestName);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples.Tasks/HelloTask/HelloTask.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples.Tasks/HelloTask/HelloTask.cs b/lang/cs/Org.Apache.REEF.Examples.Tasks/HelloTask/HelloTask.cs
deleted file mode 100644
index f832d50..0000000
--- a/lang/cs/Org.Apache.REEF.Examples.Tasks/HelloTask/HelloTask.cs
+++ /dev/null
@@ -1,124 +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.
- */
-
-using System;
-using System.Linq;
-using System.Net;
-using System.Threading;
-using Org.Apache.REEF.Common.io;
-using Org.Apache.REEF.Tang.Annotations;
-using Org.Apache.REEF.Tasks;
-using Org.Apache.REEF.Tasks.Events;
-using Org.Apache.REEF.Utilities;
-using Org.Apache.REEF.Utilities.Logging;
-
-namespace Org.Apache.REEF.Examples.Tasks.HelloTask
-{
-    public class HelloTask : ITask
-    {
-        private static readonly Logger LOGGER = Logger.GetLogger(typeof(HelloTask));
-
-        private INameClient _nameClient = null;
-
-        [Inject]
-        public HelloTask()
-        {
-            Console.WriteLine("HelloTask constructor 0");
-        }
-
-        [Inject]
-        public HelloTask(HelloService service, INameClient nameClient)
-        {
-            Console.WriteLine("HelloTask constructor 2");
-            Service = service;
-            _nameClient = nameClient;
-        }
-
-        [Inject]
-        public HelloTask(HelloService service)
-        {
-            Console.WriteLine("HelloTask constructor 1");
-            Service = service;
-        }
-
-        public HelloService Service { get; set; }
-
-        public byte[] Call(byte[] memento)
-        {
-            Console.WriteLine("Hello, CLR REEF!");
-            if (_nameClient != null)
-            {
-                _nameClient.Register("abc", new IPEndPoint(IPAddress.Any, 8080));
-                Console.WriteLine("IP Address: {0}", _nameClient.Lookup("abc"));
-            }
-            PrintGuestList();
-            Thread.Sleep(5 * 1000);
-            Console.WriteLine("Bye, CLR REEF!");
-
-            return null;
-        }
-
-        public void Dispose()
-        {
-            LOGGER.Log(Level.Info, "Hello task disposed.");
-        }
-
-        private void HandleDriverMessage(string message)
-        {
-            using (LOGGER.LogFunction("HelloTask::HandleDriverMessage"))
-            {
-                LOGGER.Log(Level.Info, "I handle message by logging : " + message);
-            }
-        }
-
-        private void PrintGuestList()
-        {
-            if (Service == null || !Service.Guests.Any())
-            {
-                Console.WriteLine("No service provided.");
-            }
-            else
-            {
-                Console.WriteLine("Serving guest: " + string.Join(";", Service.Guests));
-            }
-        }
-
-        public class HelloDriverMessageHandler : IDriverMessageHandler
-        {
-            private HelloTask _parentTask;
-
-            [Inject]
-            public HelloDriverMessageHandler(HelloTask task)
-            {
-                _parentTask = task;
-            }
-
-            public void Handle(IDriverMessage value)
-            {
-                string message = string.Empty;
-                LOGGER.Log(Level.Verbose, "Receieved a message from driver, handling it with HelloDriverMessageHandler");
-                if (value.Message.IsPresent())
-                {
-                    message = ByteUtilities.ByteArrarysToString(value.Message.Value);
-                }
-                _parentTask.HandleDriverMessage(message);
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples.Tasks/HelloTask/HelloTaskMessage.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples.Tasks/HelloTask/HelloTaskMessage.cs b/lang/cs/Org.Apache.REEF.Examples.Tasks/HelloTask/HelloTaskMessage.cs
deleted file mode 100644
index 4814e0e..0000000
--- a/lang/cs/Org.Apache.REEF.Examples.Tasks/HelloTask/HelloTaskMessage.cs
+++ /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.
- */
-
-using System;
-using System.Globalization;
-using Org.Apache.REEF.Tang.Annotations;
-using Org.Apache.REEF.Tasks;
-using Org.Apache.REEF.Utilities;
-
-namespace Org.Apache.REEF.Examples.Tasks.HelloTask
-{
-    public class HelloTaskMessage : ITaskMessageSource
-    {
-        [Inject]
-        public HelloTaskMessage()
-        {
-        }
-
-        public Optional<TaskMessage> Message
-        {
-            get
-            {
-                TaskMessage defaultTaskMessage = TaskMessage.From(
-                    "helloSourceId",
-                    ByteUtilities.StringToByteArrays("hello message generated at " + DateTime.Now.ToString(CultureInfo.InvariantCulture)));
-                return Optional<TaskMessage>.Of(defaultTaskMessage);
-            }
-
-            set
-            {
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples.Tasks/Org.Apache.REEF.Examples.Tasks.csproj
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples.Tasks/Org.Apache.REEF.Examples.Tasks.csproj b/lang/cs/Org.Apache.REEF.Examples.Tasks/Org.Apache.REEF.Examples.Tasks.csproj
deleted file mode 100644
index 333e2b7..0000000
--- a/lang/cs/Org.Apache.REEF.Examples.Tasks/Org.Apache.REEF.Examples.Tasks.csproj
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-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.
--->
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{75503F90-7B82-4762-9997-94B5C68F15DB}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>Org.Apache.REEF.Examples.Tasks</RootNamespace>
-    <AssemblyName>Org.Apache.REEF.Examples.Tasks</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-    <RestorePackages>true</RestorePackages>
-    <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
-  </PropertyGroup>
-  <Import Project="$(SolutionDir)\build.props" />
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>$(BinDir)\$(Platform)\$(Configuration)\$(RootNamespace)</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>$(BinDir)\$(Platform)\$(Configuration)\$(RootNamespace)</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>$(BinDir)\$(Platform)\$(Configuration)\$(RootNamespace)</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>$(BinDir)\$(Platform)\$(Configuration)\$(RootNamespace)</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="FailedTask\FailedTask.cs" />
-    <Compile Include="HelloTask\HelloService.cs" />
-    <Compile Include="HelloTask\HelloTask.cs" />
-    <Compile Include="HelloTask\HelloTaskMessage.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="ShellTask\ShellTask.cs" />
-    <Compile Include="StreamingTasks\StreamTask1.cs" />
-    <Compile Include="StreamingTasks\StreamTask2.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="$(SolutionDir)\Org.Apache.REEF.Tang\Org.Apache.REEF.Tang.csproj">
-      <Project>{97dbb573-3994-417a-9f69-ffa25f00d2a6}</Project>
-      <Name>Org.Apache.REEF.Tang</Name>
-    </ProjectReference>
-    <ProjectReference Include="$(SolutionDir)\Org.Apache.REEF.Utilities\Org.Apache.REEF.Utilities.csproj">
-      <Project>{79e7f89a-1dfb-45e1-8d43-d71a954aeb98}</Project>
-      <Name>Org.Apache.REEF.Utilities</Name>
-    </ProjectReference>
-    <ProjectReference Include="$(SolutionDir)\Org.Apache.REEF.Common\Org.Apache.REEF.Common.csproj">
-      <Project>{545a0582-4105-44ce-b99c-b1379514a630}</Project>
-      <Name>Org.Apache.REEF.Common</Name>
-    </ProjectReference>
-    <ProjectReference Include="$(SolutionDir)\Org.Apache.REEF.Driver\Org.Apache.REEF.Driver.csproj">
-      <Project>{a6baa2a7-f52f-4329-884e-1bcf711d6805}</Project>
-      <Name>Org.Apache.REEF.Driver</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples.Tasks/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples.Tasks/Properties/AssemblyInfo.cs b/lang/cs/Org.Apache.REEF.Examples.Tasks/Properties/AssemblyInfo.cs
deleted file mode 100644
index 4a41805..0000000
--- a/lang/cs/Org.Apache.REEF.Examples.Tasks/Properties/AssemblyInfo.cs
+++ /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.
- */
-
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Tasks")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Tasks")]
-[assembly: AssemblyCopyright("Copyright ©  2015")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("b9e219f1-a02c-468c-ab26-3ef5c91310f7")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples.Tasks/ShellTask/ShellTask.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples.Tasks/ShellTask/ShellTask.cs b/lang/cs/Org.Apache.REEF.Examples.Tasks/ShellTask/ShellTask.cs
deleted file mode 100644
index 7bc90d5..0000000
--- a/lang/cs/Org.Apache.REEF.Examples.Tasks/ShellTask/ShellTask.cs
+++ /dev/null
@@ -1,91 +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.
- */
-
-using System;
-using System.Diagnostics;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.Text;
-using Org.Apache.REEF.Tang.Annotations;
-using Org.Apache.REEF.Tasks;
-using Org.Apache.REEF.Utilities.Diagnostics;
-using Org.Apache.REEF.Utilities.Logging;
-
-[module: SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1402:FileMayOnlyContainASingleClass", Justification = "allow name parameter class to be embedded")]
-
-namespace Org.Apache.REEF.Examples.Tasks.ShellTask
-{
-    public class ShellTask : ITask
-    {
-        [Inject]
-        public ShellTask([Parameter(Value = typeof(Command))] string command)
-        {
-            Cmd = command;
-        }
-
-        public string Cmd { get; set; }
-
-        public byte[] Call(byte[] memento)
-        {
-            return Encoding.UTF8.GetBytes(CommandLineExecute(Cmd));
-        }
-
-        public void Dispose()
-        {
-        }
-
-        private string CommandLineExecute(string command)
-        {
-            string output = string.Empty;
-            try
-            {
-                ProcessStartInfo startInfo = new ProcessStartInfo()
-                {
-                    FileName = "cmd.exe",
-                    Arguments = @"/c " + command,
-                    RedirectStandardOutput = true,
-                    UseShellExecute = false,
-                    CreateNoWindow = true
-                };
-
-                using (Process process = Process.Start(startInfo))
-                {
-                    StringBuilder standardOutput = new StringBuilder();
-
-                    process.WaitForExit(1000);
-
-                    standardOutput.Append(process.StandardOutput.ReadToEnd());
-                    output = standardOutput.ToString();
-                }
-            }
-            catch (Exception e)
-            {
-                output = string.Format(CultureInfo.InvariantCulture, "Failed to execute command [{0}] and capture the output, exception {1} with message {2} ", command, e, e.Message);
-                Exceptions.Caught(e, Level.Error, output, Logger.GetLogger(typeof(ShellTask)));
-            }
-
-            return output;
-        }
-
-        [NamedParameter("Shell Command", "cmd", "")]
-        public class Command : Name<string>
-        {
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples.Tasks/StreamingTasks/StreamTask1.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples.Tasks/StreamingTasks/StreamTask1.cs b/lang/cs/Org.Apache.REEF.Examples.Tasks/StreamingTasks/StreamTask1.cs
deleted file mode 100644
index f35bf91..0000000
--- a/lang/cs/Org.Apache.REEF.Examples.Tasks/StreamingTasks/StreamTask1.cs
+++ /dev/null
@@ -1,67 +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.
- */
-
-using System.Threading;
-using Org.Apache.REEF.Tang.Annotations;
-using Org.Apache.REEF.Tasks;
-
-namespace Org.Apache.REEF.Examples.Tasks.StreamingTasks
-{
-    public class StreamTask1 : ITask
-    {
-        private string _ipAddress;
-
-        [Inject]
-        public StreamTask1([Parameter(typeof(IpAddress))] string ipAddress)
-        {
-            this._ipAddress = ipAddress;
-        }
-
-        [Inject]
-        public StreamTask1()
-        {
-        }
-
-        public byte[] Call(byte[] memento)
-        {
-            System.Console.WriteLine("Hello, Streaming 1!!, Ip: " + _ipAddress);
-
-            Thread.Sleep(10000);
-
-            SIFirstNode();
-
-            return null;
-        }
-
-        public void Dispose()
-        {
-        }
-
-        public void SIFirstNode()
-        {
-            //var a = new SIFirstNodeXAM();
-            //a.Process(1111, 2222, ipAddress);
-        }
-
-        [NamedParameter("Ip Address", "IP", "10.121.32.158")]
-        public class IpAddress : Name<string>
-        {
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples.Tasks/StreamingTasks/StreamTask2.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples.Tasks/StreamingTasks/StreamTask2.cs b/lang/cs/Org.Apache.REEF.Examples.Tasks/StreamingTasks/StreamTask2.cs
deleted file mode 100644
index 16ccfcc..0000000
--- a/lang/cs/Org.Apache.REEF.Examples.Tasks/StreamingTasks/StreamTask2.cs
+++ /dev/null
@@ -1,51 +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.
- */
-
-using Org.Apache.REEF.Tang.Annotations;
-using Org.Apache.REEF.Tasks;
-
-namespace Org.Apache.REEF.Examples.Tasks.StreamingTasks
-{
-    public class StreamTask2 : ITask
-    {
-        [Inject]
-        public StreamTask2()
-        {
-        }
-
-        public byte[] Call(byte[] memento)
-        {
-            System.Console.WriteLine("Hello, Streaming 2!!");
-
-            SISecondNode();
-
-            return null;
-        }
-
-        public void Dispose()
-        {
-        }
-
-        public void SISecondNode()
-        {
-            //var a = new SISecondNodeXAM();
-            //a.Process(2222, 1111);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/AnotherHelloAllocatedEvaluatorHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/AnotherHelloAllocatedEvaluatorHandler.cs b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/AnotherHelloAllocatedEvaluatorHandler.cs
new file mode 100644
index 0000000..3a1e847
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/AnotherHelloAllocatedEvaluatorHandler.cs
@@ -0,0 +1,48 @@
+/**
+ * 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.
+ */
+
+using Org.Apache.REEF.Driver.Evaluator;
+using Org.Apache.REEF.Tang.Annotations;
+using System;
+
+namespace Org.Apache.REEF.Examples.HelloCLRBridge.Handlers
+{
+    public class AnotherHelloAllocatedEvaluatorHandler : IObserver<IAllocatedEvaluator>
+    {
+        [Inject]
+        public AnotherHelloAllocatedEvaluatorHandler()
+        {
+        }
+
+        public void OnNext(IAllocatedEvaluator allocatedEvaluator)
+        {
+            Console.WriteLine("I am just here for the ride.");
+        }
+
+        public void OnCompleted()
+        {
+            throw new NotImplementedException();
+        }
+
+        public void OnError(Exception error)
+        {
+            throw new NotImplementedException();
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloActiveContextHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloActiveContextHandler.cs b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloActiveContextHandler.cs
new file mode 100644
index 0000000..d18ae44
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloActiveContextHandler.cs
@@ -0,0 +1,83 @@
+/**
+ * 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.
+ */
+
+using Org.Apache.REEF.Driver.Context;
+using Org.Apache.REEF.Driver.Evaluator;
+using Org.Apache.REEF.Tasks;
+using Org.Apache.REEF.Tang.Annotations;
+using Org.Apache.REEF.Tang.Formats;
+using Org.Apache.REEF.Tang.Interface;
+using Org.Apache.REEF.Tang.Util;
+using System;
+using System.Globalization;
+using Org.Apache.REEF.Examples.Tasks.HelloTask;
+
+namespace Org.Apache.REEF.Examples.HelloCLRBridge.Handlers
+{
+    public class HelloActiveContextHandler : IObserver<IActiveContext>
+    {
+        [Inject]
+        public HelloActiveContextHandler()
+        {
+        }
+
+        public void OnNext(IActiveContext activeContext)
+        {
+            Console.WriteLine(
+                string.Format(
+                    CultureInfo.InvariantCulture,
+                    "Active context {0} received from evaluator {1}",
+                    activeContext.Id,
+                    activeContext.EvaluatorId));
+
+            IEvaluatorDescriptor evaluatorDescriptor = activeContext.EvaluatorDescriptor;
+            string ipAddress = evaluatorDescriptor.NodeDescriptor.InetSocketAddress.Address.ToString();
+            int port = evaluatorDescriptor.NodeDescriptor.InetSocketAddress.Port;
+            string hostName = evaluatorDescriptor.NodeDescriptor.HostName;
+
+            Console.WriteLine(
+                string.Format(
+                CultureInfo.InvariantCulture, 
+                "The running evaluator is assigned with {0} MB of memory and is running at ip: {1} and port {2}, with hostname {3}", 
+                evaluatorDescriptor.Memory, 
+                ipAddress, 
+                port, 
+                hostName));
+
+            IConfiguration taskConfiguration = TaskConfiguration.ConfigurationModule
+                .Set(TaskConfiguration.Identifier, "bridgeCLRHelloTask_" + DateTime.Now.Ticks)
+                .Set(TaskConfiguration.Task, GenericType<HelloTask>.Class)
+                .Set(TaskConfiguration.OnMessage, GenericType<HelloTask.HelloDriverMessageHandler>.Class)
+                .Set(TaskConfiguration.OnSendMessage, GenericType<HelloTaskMessage>.Class)
+                .Build();
+
+            activeContext.SubmitTask(taskConfiguration);
+        }
+
+        public void OnError(Exception error)
+        {
+            throw new NotImplementedException();
+        }
+
+        public void OnCompleted()
+        {
+            throw new NotImplementedException();
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloAllocatedEvaluatorHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloAllocatedEvaluatorHandler.cs b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloAllocatedEvaluatorHandler.cs
new file mode 100644
index 0000000..c07f809
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloAllocatedEvaluatorHandler.cs
@@ -0,0 +1,132 @@
+/**
+ * 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.
+ */
+
+using Org.Apache.REEF.Common.io;
+using Org.Apache.REEF.Driver.Bridge;
+using Org.Apache.REEF.Driver.Context;
+using Org.Apache.REEF.Driver.Evaluator;
+using Org.Apache.REEF.Network.Naming;
+using Org.Apache.REEF.Services;
+using Org.Apache.REEF.Tang.Annotations;
+using Org.Apache.REEF.Tang.Implementations.Configuration;
+using Org.Apache.REEF.Tang.Implementations.Tang;
+using Org.Apache.REEF.Tang.Interface;
+using Org.Apache.REEF.Tang.Util;
+using Org.Apache.REEF.Tasks;
+using Org.Apache.REEF.Utilities;
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using System.Net;
+using Org.Apache.REEF.Examples.Tasks.HelloTask;
+
+namespace Org.Apache.REEF.Examples.HelloCLRBridge.Handlers
+{
+    public class HelloAllocatedEvaluatorHandler : IObserver<IAllocatedEvaluator>
+    {
+        [Inject]
+        public HelloAllocatedEvaluatorHandler()
+        {
+        }
+
+        public void OnNext(IAllocatedEvaluator allocatedEvaluator)
+        {
+            string control = string.Empty;
+
+            ISet<string> arguments = ClrHandlerHelper.GetCommandLineArguments();
+
+            if (arguments != null && arguments.Any())
+            {
+                foreach (string argument in arguments)
+                {
+                    Console.WriteLine("testing argument: " + argument);
+                }
+
+                control = arguments.Last();
+            }
+
+            IEvaluatorDescriptor descriptor = allocatedEvaluator.GetEvaluatorDescriptor();
+
+            IConfiguration serviceConfiguration = ServiceConfiguration.ConfigurationModule
+                .Set(ServiceConfiguration.Services, GenericType<HelloService>.Class)
+                .Build();
+
+            IConfiguration contextConfiguration = ContextConfiguration.ConfigurationModule
+                .Set(ContextConfiguration.Identifier, "bridgeHelloCLRContextId_" + Guid.NewGuid().ToString("N"))
+                .Build();
+
+            IConfiguration taskConfiguration = TaskConfiguration.ConfigurationModule
+                .Set(TaskConfiguration.Identifier, "bridgeHelloCLRTaskId_" + Guid.NewGuid().ToString("N"))
+                .Set(TaskConfiguration.Task, GenericType<HelloTask>.Class)
+                .Set(TaskConfiguration.OnMessage, GenericType<HelloTask.HelloDriverMessageHandler>.Class)
+                .Set(TaskConfiguration.OnSendMessage, GenericType<HelloTaskMessage>.Class)
+                .Build();
+
+            IConfiguration mergedTaskConfiguration = taskConfiguration;
+
+            if (allocatedEvaluator.NameServerInfo != null)
+            {
+                IPEndPoint nameServerEndpoint = NetUtilities.ParseIpEndpoint(allocatedEvaluator.NameServerInfo);
+
+                IConfiguration nameClientConfiguration = TangFactory.GetTang().NewConfigurationBuilder(
+                    NamingConfiguration.ConfigurationModule
+                                       .Set(NamingConfiguration.NameServerAddress, nameServerEndpoint.Address.ToString())
+                                       .Set(NamingConfiguration.NameServerPort,
+                                            nameServerEndpoint.Port.ToString(CultureInfo.InvariantCulture))
+                                       .Build())
+                                                                    .BindImplementation(GenericType<INameClient>.Class,
+                                                                                        GenericType<NameClient>.Class)
+                                                                    .Build();
+
+                mergedTaskConfiguration = Configurations.Merge(taskConfiguration, nameClientConfiguration);
+            }
+
+            string ipAddress = descriptor.NodeDescriptor.InetSocketAddress.Address.ToString();
+            int port = descriptor.NodeDescriptor.InetSocketAddress.Port;
+            string hostName = descriptor.NodeDescriptor.HostName;
+            Console.WriteLine(string.Format(CultureInfo.InvariantCulture, "Alloated evaluator {0} with ip {1}:{2}. Hostname is {3}", allocatedEvaluator.Id, ipAddress, port, hostName));
+            Console.WriteLine(string.Format(CultureInfo.InvariantCulture, "Evaluator is assigned with {0} MB of memory and {1} cores.", descriptor.Memory, descriptor.VirtualCore));
+
+            if (control.Equals("submitContext", StringComparison.OrdinalIgnoreCase))
+            {
+                allocatedEvaluator.SubmitContext(contextConfiguration);
+            }
+            else if (control.Equals("submitContextAndServiceAndTask", StringComparison.OrdinalIgnoreCase))
+            {
+                allocatedEvaluator.SubmitContextAndServiceAndTask(contextConfiguration, serviceConfiguration, mergedTaskConfiguration);
+            }
+            else
+            {
+                // default behavior
+                allocatedEvaluator.SubmitContextAndTask(contextConfiguration, mergedTaskConfiguration);
+            }
+        }
+
+        public void OnCompleted()
+        {
+            throw new NotImplementedException();
+        }
+
+        public void OnError(Exception error)
+        {
+            throw new NotImplementedException();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloCompletedEvaluatorHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloCompletedEvaluatorHandler.cs b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloCompletedEvaluatorHandler.cs
new file mode 100644
index 0000000..7c4f650
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloCompletedEvaluatorHandler.cs
@@ -0,0 +1,59 @@
+/**
+ * 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.
+ */
+
+using Org.Apache.REEF.Driver.Context;
+using Org.Apache.REEF.Driver.Evaluator;
+using Org.Apache.REEF.Driver.Task;
+using Org.Apache.REEF.Utilities;
+using Org.Apache.REEF.Tang.Annotations;
+using System;
+using System.Globalization;
+
+namespace Org.Apache.REEF.Examples.HelloCLRBridge.Handlers
+{
+    /// <summary>
+    /// Sample implementaion of RunningTaskHandler
+    /// </summary>
+    public class HelloCompletedEvaluatorHandler : IObserver<ICompletedEvaluator>
+    {
+        [Inject]
+        public HelloCompletedEvaluatorHandler()
+        {
+        }
+
+        public void OnNext(ICompletedEvaluator completedEvaluator)
+        {
+            string messageStr = string.Format(
+                CultureInfo.InvariantCulture,
+                "HelloCompletedEvaluatorHandler: Evaluator [{0}] is done.",
+                completedEvaluator.Id);
+            Console.WriteLine(messageStr);
+        }
+
+        public void OnError(Exception error)
+        {
+            throw new NotImplementedException();
+        }
+
+        public void OnCompleted()
+        {
+            throw new NotImplementedException();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloDriverRestartActiveContextHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloDriverRestartActiveContextHandler.cs b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloDriverRestartActiveContextHandler.cs
new file mode 100644
index 0000000..9494f96
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloDriverRestartActiveContextHandler.cs
@@ -0,0 +1,69 @@
+/**
+ * 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.
+ */
+
+using Org.Apache.REEF.Driver.Context;
+using Org.Apache.REEF.Driver.Evaluator;
+using Org.Apache.REEF.Tang.Annotations;
+using System;
+using System.Globalization;
+
+namespace Org.Apache.REEF.Examples.HelloCLRBridge.Handlers
+{
+    public class HelloDriverRestartActiveContextHandler : IObserver<IActiveContext>
+    {
+        [Inject]
+        public HelloDriverRestartActiveContextHandler()
+        {
+        }
+
+        public void OnNext(IActiveContext activeContext)
+        {
+            Console.WriteLine(
+                string.Format(
+                    CultureInfo.InvariantCulture,
+                    "Active context {0} received after driver restart, from evaluator {1}",
+                    activeContext.Id,
+                    activeContext.EvaluatorId));
+
+            IEvaluatorDescriptor evaluatorDescriptor = activeContext.EvaluatorDescriptor;
+            string ipAddress = evaluatorDescriptor.NodeDescriptor.InetSocketAddress.Address.ToString();
+            int port = evaluatorDescriptor.NodeDescriptor.InetSocketAddress.Port;
+            string hostName = evaluatorDescriptor.NodeDescriptor.HostName;
+
+            Console.WriteLine(
+                string.Format(
+                CultureInfo.InvariantCulture, 
+                "The running evaluator allocated by previous driver is assigned with {0} MB of memory and is running at ip: {1} and port {2}, with hostname {3}", 
+                evaluatorDescriptor.Memory, 
+                ipAddress, 
+                port, 
+                hostName));
+        }
+
+        public void OnError(Exception error)
+        {
+            throw new NotImplementedException();
+        }
+
+        public void OnCompleted()
+        {
+            throw new NotImplementedException();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloDriverRestartRunningTaskHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloDriverRestartRunningTaskHandler.cs b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloDriverRestartRunningTaskHandler.cs
new file mode 100644
index 0000000..d2d30cf
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloDriverRestartRunningTaskHandler.cs
@@ -0,0 +1,67 @@
+/**
+ * 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.
+ */
+
+using System;
+using System.Globalization;
+using Org.Apache.REEF.Driver.Context;
+using Org.Apache.REEF.Driver.Task;
+using Org.Apache.REEF.Utilities;
+using Org.Apache.REEF.Tang.Annotations;
+
+namespace Org.Apache.REEF.Examples.HelloCLRBridge.Handlers
+{
+    /// <summary>
+    /// Sample implementaion of RunningTaskHandler
+    /// </summary>
+    public class HelloDriverRestartRunningTaskHandler : IObserver<IRunningTask>
+    {
+        [Inject]
+        public HelloDriverRestartRunningTaskHandler()
+        {
+        }
+
+        public void OnNext(IRunningTask runningTask)
+        {
+            IActiveContext context = runningTask.ActiveContext;
+
+            Console.WriteLine(string.Format(
+                CultureInfo.InvariantCulture,
+                "HelloDriverRestartRunningTaskHandler: Task [{0}] is running after driver restart. Evaluator id: [{1}].",
+                runningTask.Id,
+                context.EvaluatorId));
+
+            runningTask.Send(ByteUtilities.StringToByteArrays(
+                string.Format(
+                CultureInfo.InvariantCulture,
+                "Hello, task {0}! Glad to know that you are still running in Evaluator {1} after driver restart!",
+                runningTask.Id,
+                context.EvaluatorId)));
+        }
+
+        public void OnError(Exception error)
+        {
+            throw new NotImplementedException();
+        }
+
+        public void OnCompleted()
+        {
+            throw new NotImplementedException();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloEvaluatorRequestorHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloEvaluatorRequestorHandler.cs b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloEvaluatorRequestorHandler.cs
new file mode 100644
index 0000000..4f24e0f
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloEvaluatorRequestorHandler.cs
@@ -0,0 +1,65 @@
+/**
+ * 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.
+ */
+
+using Org.Apache.REEF.Driver.Bridge;
+using Org.Apache.REEF.Driver.Evaluator;
+using System;
+
+using Org.Apache.REEF.Tang.Annotations;
+
+namespace Org.Apache.REEF.Examples.HelloCLRBridge.Handlers
+{
+    public class HelloEvaluatorRequestorHandler : IObserver<IEvaluatorRequestor>
+    {
+        [Inject]
+        public HelloEvaluatorRequestorHandler()
+        {
+        }
+
+        public void OnNext(IEvaluatorRequestor evalutorRequestor)
+        {
+            int evaluatorsNumber = 1;
+            int memory = 512;
+            int core = 2;
+            string rack = "WonderlandRack";
+            string evaluatorBatchId = "evaluatorThatRequires512MBofMemory";
+            EvaluatorRequest request = new EvaluatorRequest(evaluatorsNumber, memory, core, rack, evaluatorBatchId);
+
+            evalutorRequestor.Submit(request);
+
+            evaluatorsNumber = 1;
+            memory = 1999;
+            core = 2;
+            rack = "WonderlandRack";
+            evaluatorBatchId = "evaluatorThatRequires1999MBofMemory";
+            request = new EvaluatorRequest(evaluatorsNumber, memory, core, rack, evaluatorBatchId);
+            evalutorRequestor.Submit(request);
+        }
+
+        public void OnCompleted()
+        {
+            throw new NotImplementedException();
+        }
+
+        public void OnError(Exception error)
+        {
+            throw new NotImplementedException();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloFailedEvaluatorHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloFailedEvaluatorHandler.cs b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloFailedEvaluatorHandler.cs
new file mode 100644
index 0000000..e9aa232
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloFailedEvaluatorHandler.cs
@@ -0,0 +1,68 @@
+/**
+ * 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.
+ */
+
+using Org.Apache.REEF.Driver.Bridge;
+using Org.Apache.REEF.Driver.Evaluator;
+using Org.Apache.REEF.Tang.Annotations;
+using System;
+
+namespace Org.Apache.REEF.Examples.HelloCLRBridge.Handlers
+{
+    public class HelloFailedEvaluatorHandler : IObserver<IFailedEvaluator>
+    {
+        private static int _failureCount = 0;
+
+        private static int _maxTrial = 2;
+
+        [Inject]
+        public HelloFailedEvaluatorHandler()
+        {
+        }
+
+        public void OnNext(IFailedEvaluator failedEvaluator)
+        {
+            Console.WriteLine("Receive a failed evaluator: " + failedEvaluator.Id);
+            if (++_failureCount < _maxTrial)
+            {
+                Console.WriteLine("Requesting another evaluator");
+                EvaluatorRequest newRequest = new EvaluatorRequest(1, 512, "somerack");
+                IEvaluatorRequestor requestor = failedEvaluator.GetEvaluatorRequetor();
+                if (failedEvaluator.GetEvaluatorRequetor() != null)
+                {
+                    requestor.Submit(newRequest);
+                }
+            }
+            else
+            {
+                Console.WriteLine("Exceed max retries number");
+                throw new Exception("Unrecoverable evaluator failure.");
+            }
+        }
+
+        public void OnError(Exception error)
+        {
+            throw new NotImplementedException();
+        }
+
+        public void OnCompleted()
+        {
+            throw new NotImplementedException();
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloFailedTaskHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloFailedTaskHandler.cs b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloFailedTaskHandler.cs
new file mode 100644
index 0000000..7618f00
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloFailedTaskHandler.cs
@@ -0,0 +1,67 @@
+/**
+ * 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.
+ */
+
+using Org.Apache.REEF.Driver.Task;
+using Org.Apache.REEF.Utilities;
+using Org.Apache.REEF.Tang.Annotations;
+using System;
+using System.Globalization;
+
+namespace Org.Apache.REEF.Examples.HelloCLRBridge.Handlers
+{
+    public class HelloFailedTaskHandler : IObserver<IFailedTask>
+    {
+        [Inject]
+        public HelloFailedTaskHandler()
+        {
+        }
+
+        public void OnNext(IFailedTask failedTask)
+        {
+            string errorMessage = string.Format(
+                CultureInfo.InvariantCulture,
+                "Task [{0}] has failed caused by [{1}], with message [{2}] and description [{3}]. The raw data for failure is [{4}].",
+                failedTask.Id,
+                failedTask.Reason.IsPresent() ? failedTask.Reason.Value : string.Empty,
+                failedTask.Message,
+                failedTask.Description.IsPresent() ? failedTask.Description.Value : string.Empty,
+                failedTask.Data.IsPresent() ? ByteUtilities.ByteArrarysToString(failedTask.Data.Value) : string.Empty);
+
+            Console.WriteLine(errorMessage);
+
+            if (failedTask.GetActiveContext().IsPresent())
+            {
+                Console.WriteLine("Disposing the active context the failed task ran in.");
+
+                // we must do something here: either close the context or resubmit a task to the active context
+                failedTask.GetActiveContext().Value.Dispose();
+            }
+        }
+
+        public void OnCompleted()
+        {
+            throw new NotImplementedException();
+        }
+
+        public void OnError(Exception error)
+        {
+            throw new NotImplementedException();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloHttpHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloHttpHandler.cs b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloHttpHandler.cs
new file mode 100644
index 0000000..e1bf097
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloHttpHandler.cs
@@ -0,0 +1,51 @@
+/**
+ * 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.
+ */
+
+using System.Globalization;
+using System.Net;
+using Org.Apache.REEF.Driver.Bridge;
+using Org.Apache.REEF.Utilities;
+using Org.Apache.REEF.Utilities.Logging;
+using Org.Apache.REEF.Tang.Annotations;
+
+namespace Org.Apache.REEF.Examples.HelloCLRBridge.Handlers
+{
+    public class HelloHttpHandler : IHttpHandler
+    {
+        private static readonly Logger LOGGER = Logger.GetLogger(typeof(HttpServerHandler));
+
+        [Inject]
+        public HelloHttpHandler()
+        {           
+        }
+
+        public string GetSpecification()
+        {
+            return "NRT"; //Client Example 
+        }
+
+        public void OnHttpRequest(ReefHttpRequest requet, ReefHttpResponse response)  
+        {
+            LOGGER.Log(Level.Info, string.Format(CultureInfo.CurrentCulture, "HelloHttpHandler OnHttpRequest: URL: {0}, QueryString: {1}, inputStream: {2}.", requet.Url, requet.Querystring, ByteUtilities.ByteArrarysToString(requet.InputStream)));
+            response.Status = HttpStatusCode.OK;
+            response.OutputStream =
+                ByteUtilities.StringToByteArrays("Byte array returned from HelloHttpHandler in CLR!!!");
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloRestartHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloRestartHandler.cs b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloRestartHandler.cs
new file mode 100644
index 0000000..6e72147
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloRestartHandler.cs
@@ -0,0 +1,48 @@
+/**
+ * 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.
+ */
+
+using Org.Apache.REEF.Tang.Annotations;
+using Org.Apache.REEF.Wake.Time;
+using System;
+
+namespace Org.Apache.REEF.Examples.HelloCLRBridge.Handlers
+{
+    public class HelloRestartHandler : IObserver<StartTime>
+    {
+        [Inject]
+        public HelloRestartHandler()
+        {
+        }
+
+        public void OnNext(StartTime value)
+        {
+            Console.WriteLine("Hello from CLR: we are informed that Driver has restarted at " + new DateTime(value.TimeStamp));
+        }
+
+        public void OnError(Exception error)
+        {
+            throw new NotImplementedException();
+        }
+
+        public void OnCompleted()
+        {
+            throw new NotImplementedException();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/29c56c8e/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloRunningTaskHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloRunningTaskHandler.cs b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloRunningTaskHandler.cs
new file mode 100644
index 0000000..07048e4
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Examples/HelloCLRBridge/Handlers/HelloRunningTaskHandler.cs
@@ -0,0 +1,65 @@
+/**
+ * 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.
+ */
+
+using System;
+using System.Globalization;
+using Org.Apache.REEF.Driver.Context;
+using Org.Apache.REEF.Driver.Task;
+using Org.Apache.REEF.Utilities;
+using Org.Apache.REEF.Tang.Annotations;
+
+namespace Org.Apache.REEF.Examples.HelloCLRBridge.Handlers
+{
+    /// <summary>
+    /// Sample implementaion of RunningTaskHandler
+    /// </summary>
+    public class HelloRunningTaskHandler : IObserver<IRunningTask>
+    {
+        [Inject]
+        public HelloRunningTaskHandler()
+        {
+        }
+
+        public void OnNext(IRunningTask runningTask)
+        {
+            IActiveContext context = runningTask.ActiveContext;
+
+            string messageStr = string.Format(
+                CultureInfo.InvariantCulture,
+                "HelloRunningTaskHandler: Task [{0}] is running. Evaluator id: [{1}].",
+                runningTask.Id,
+                context.EvaluatorId);
+            Console.WriteLine(messageStr);
+
+            byte[] message = ByteUtilities.StringToByteArrays(messageStr);
+
+            runningTask.Send(message);
+        }
+
+        public void OnError(Exception error)
+        {
+            throw new NotImplementedException();
+        }
+
+        public void OnCompleted()
+        {
+            throw new NotImplementedException();
+        }
+    }
+}