http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/a7df272d/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloAllocatedEvaluatorHandler.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloAllocatedEvaluatorHandler.cs b/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloAllocatedEvaluatorHandler.cs deleted file mode 100644 index bdf04cf..0000000 --- a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloAllocatedEvaluatorHandler.cs +++ /dev/null @@ -1,131 +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.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; - -namespace Org.Apache.REEF.Examples.HelloCLRBridge -{ - 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/a7df272d/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloCompletedEvaluatorHandler.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloCompletedEvaluatorHandler.cs b/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloCompletedEvaluatorHandler.cs deleted file mode 100644 index 7c4f650..0000000 --- a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloCompletedEvaluatorHandler.cs +++ /dev/null @@ -1,59 +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.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/a7df272d/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloDriverRestartActiveContextHandler.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloDriverRestartActiveContextHandler.cs b/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloDriverRestartActiveContextHandler.cs deleted file mode 100644 index adffa8e..0000000 --- a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloDriverRestartActiveContextHandler.cs +++ /dev/null @@ -1,69 +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.Annotations; -using System; -using System.Globalization; - -namespace Org.Apache.REEF.Examples.HelloCLRBridge -{ - 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/a7df272d/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloDriverRestartRunningTaskHandler.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloDriverRestartRunningTaskHandler.cs b/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloDriverRestartRunningTaskHandler.cs deleted file mode 100644 index d2d30cf..0000000 --- a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloDriverRestartRunningTaskHandler.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; -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/a7df272d/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloEvaluatorRequestorHandler.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloEvaluatorRequestorHandler.cs b/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloEvaluatorRequestorHandler.cs deleted file mode 100644 index c2084f4..0000000 --- a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloEvaluatorRequestorHandler.cs +++ /dev/null @@ -1,65 +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; - -using Org.Apache.REEF.Tang.Annotations; - -namespace Org.Apache.REEF.Examples.HelloCLRBridge -{ - 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/a7df272d/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloFailedEvaluatorHandler.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloFailedEvaluatorHandler.cs b/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloFailedEvaluatorHandler.cs deleted file mode 100644 index 13325d9..0000000 --- a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloFailedEvaluatorHandler.cs +++ /dev/null @@ -1,68 +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 Org.Apache.REEF.Tang.Annotations; -using System; - -namespace Org.Apache.REEF.Examples.HelloCLRBridge -{ - 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/a7df272d/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloFailedTaskHandler.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloFailedTaskHandler.cs b/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloFailedTaskHandler.cs deleted file mode 100644 index e62b8e7..0000000 --- a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloFailedTaskHandler.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 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 -{ - 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/a7df272d/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloHttpHandler.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloHttpHandler.cs b/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloHttpHandler.cs deleted file mode 100644 index e1bf097..0000000 --- a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloHttpHandler.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 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/a7df272d/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloRestartHandler.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloRestartHandler.cs b/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloRestartHandler.cs deleted file mode 100644 index a87a576..0000000 --- a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloRestartHandler.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.Tang.Annotations; -using Org.Apache.REEF.Wake.Time; -using System; - -namespace Org.Apache.REEF.Examples.HelloCLRBridge -{ - 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/a7df272d/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloRunningTaskHandler.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloRunningTaskHandler.cs b/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloRunningTaskHandler.cs deleted file mode 100644 index 07048e4..0000000 --- a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloRunningTaskHandler.cs +++ /dev/null @@ -1,65 +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.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(); - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/a7df272d/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloSimpleEventHandlers.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloSimpleEventHandlers.cs b/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloSimpleEventHandlers.cs deleted file mode 100644 index 43962cb..0000000 --- a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloSimpleEventHandlers.cs +++ /dev/null @@ -1,421 +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 System.Globalization; -using System.Linq; -using System.Net; -using System.Text; -using System.Threading.Tasks; -using Org.Apache.REEF.Common.io; -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.Driver.Task; -using Org.Apache.REEF.Network.Naming; -using Org.Apache.REEF.Tasks; -using Org.Apache.REEF.Utilities; -using Org.Apache.REEF.Utilities.Logging; -using Org.Apache.REEF.Tang.Annotations; -using Org.Apache.REEF.Tang.Interface; -using Org.Apache.REEF.Tang.Util; - -namespace Org.Apache.REEF.Examples.HelloCLRBridge.handlers -{ - enum DriverStatus - { - Init = 0, - Idle = 1, - RunningTasks = 2, - CompleteTasks = 3 - } - - internal enum TaskStatus - { - Submitting = 0, - Running = 1, - Completed = 2 - } - - /// <summary> - /// A demo class that contains basic handlers. It runs given tasks and is able to get request from http server and start to ren the tasks again. - /// It handle various http requests. It also monitoring task status and driver status. - /// </summary> - public class HelloSimpleEventHandlers : - IObserver<IEvaluatorRequestor>, - IObserver<IAllocatedEvaluator>, - IObserver<IActiveContext>, - IObserver<ICompletedTask>, - IObserver<IRunningTask>, - IObserver<IFailedTask>, - IObserver<IFailedEvaluator>, - IObserver<ICompletedEvaluator>, - IStartHandler, - IHttpHandler - { - private const int NumberOfTasks = 5; - private static readonly Logger LOGGER = Logger.GetLogger(typeof(HelloSimpleEventHandlers)); - private IAllocatedEvaluator _allocatedEvaluator; - private IActiveContext _activeContext; - private IList<IActiveContext> _activeContexts = new List<IActiveContext>(); - private DriverStatus driveStatus; - private TaskContext _taskContext; - - [Inject] - public HelloSimpleEventHandlers() - { - LOGGER.Log(Level.Info, "HelloSimpleEventHandlers constructor"); - CreateClassHierarchy(); - Identifier = "HelloSimpleEventHandlers"; - _taskContext = new TaskContext(); - _taskContext.TotalTasks = NumberOfTasks; - driveStatus = DriverStatus.Init; - } - - public string Identifier { get; set; } - - public static string ParsePathInfo(string pathInfo) - { - string[] p = pathInfo.Split('/'); - foreach (string s in p) - { - LOGGER.Log(Level.Info, s); - } - if (p.Length > 3) - { - return p[3]; - } - return null; - } - - public static void BuildHttpResponse( - ReefHttpResponse response, - HttpStatusCode httpStatusCode, - string strResponse) - { - response.Status = httpStatusCode; - response.OutputStream = ByteUtilities.StringToByteArrays(strResponse); - } - - public static void BuildHttpResponse( - ReefHttpResponse response, - HttpStatusCode httpStatusCode, - byte[] bytesResponse) - { - response.Status = httpStatusCode; - response.OutputStream = bytesResponse; - } - - public void OnNext(IEvaluatorRequestor evalutorRequestor) - { - using (LOGGER.LogFunction("HelloSimpleEventHandlers::evalutorRequestor received")) - { - int evaluatorsNumber = 2; - int memory = 1024 * 3; - int cpuCoreCount = 1; - string rack = "WonderlandRack"; - string evaluatorBatchId = "evaluatorThatRequires3GBofMemory"; - EvaluatorRequest request = new EvaluatorRequest(evaluatorsNumber, memory, cpuCoreCount, rack, evaluatorBatchId); - - evalutorRequestor.Submit(request); - } - } - - public void OnNext(IAllocatedEvaluator allocatedEvaluator) - { - string taskId = "Task_" + allocatedEvaluator.Id; - using (LOGGER.LogFunction("HelloSimpleEventHandlers::allocatedEvaluator received {0}.", taskId)) - { - _allocatedEvaluator = allocatedEvaluator; - - IConfiguration contextConfiguration = ContextConfiguration.ConfigurationModule.Set(ContextConfiguration.Identifier, "HelloSimpleEventHandlersContext_" + Guid.NewGuid().ToString("N")).Build(); - - allocatedEvaluator.SubmitContext(contextConfiguration); - } - } - - public void OnNext(IActiveContext activeContext) - { - using (LOGGER.LogFunction("HelloSimpleEventHandlers::activeContext received")) - { - LOGGER.Log(Level.Info, string.Format(CultureInfo.InvariantCulture, "Received activeContext, EvaluatorId id: {0}", activeContext.EvaluatorId)); - _activeContext = activeContext; - _activeContexts.Add(activeContext); - driveStatus = DriverStatus.RunningTasks; - SubmitNextTask(activeContext); - } - } - - public void OnNext(ICompletedTask value) - { - using (LOGGER.LogFunction("HelloSimpleEventHandlers::CompletedTask received")) - { - LOGGER.Log(Level.Info, string.Format(CultureInfo.InvariantCulture, "Received CompletedTask: {0}, task id: {1}", value.Id, _taskContext.CurrentTaskId())); - _activeContext = value.ActiveContext; - _taskContext.UpdateTaskStatus(value.Id, TaskStatus.Completed); - _taskContext.TaskCompleted++; - SubmitNextTask(value.ActiveContext); - } - } - - public void OnError(Exception error) - { - LOGGER.Log(Level.Error, string.Format(CultureInfo.InvariantCulture, "Exception in coral handlers Msg: {1} Stack: {2}", error.Message, error.StackTrace)); - } - - public void OnCompleted() - { - } - - public void OnNext(IRunningTask value) - { - _taskContext.UpdateTaskStatus(_taskContext.CurrentTaskId(), TaskStatus.Running); - } - - public void OnNext(IFailedTask value) - { - } - - public void OnNext(IFailedEvaluator value) - { - } - - public void OnNext(ICompletedEvaluator completedEvaluator) - { - string messageStr = string.Format( - CultureInfo.InvariantCulture, - "HelloSimpleEventHandlers: Evaluator [{0}] is done.", - completedEvaluator.Id); - Console.WriteLine(messageStr); - } - - public string GetSpecification() - { - return "crystal"; - } - - public void OnHttpRequest(ReefHttpRequest request, ReefHttpResponse response) - { - string target = ParsePathInfo(request.PathInfo); - LOGGER.Log(Level.Info, "Target: " + target + ". PathInfo: " + request.PathInfo); - //if (target != null && target.ToLower(CultureInfo.CurrentCulture).Equals("driverstatus")) - if (target != null && target.Equals("driverstatus")) - { - LOGGER.Log(Level.Info, "Target: " + target + ". Driver status: " + driveStatus.ToString()); - string msg = string.Format(CultureInfo.CurrentCulture, "Current Driver status: {0} ", driveStatus.ToString()); - BuildHttpResponse(response, HttpStatusCode.OK, msg); - return; - } - - if (target != null && target.Equals("taskstatus")) - { - LOGGER.Log(Level.Info, "Target: " + target + ". TaskStatus string: " + _taskContext.TaskStatusString()); - BuildHttpResponse(response, HttpStatusCode.OK, _taskContext.TaskStatusString()); - return; - } - - if (target != null && target.ToLower(CultureInfo.CurrentCulture).Equals("run") && driveStatus == DriverStatus.Init) - { - BuildHttpResponse(response, HttpStatusCode.OK, "Driver is not ready, wait a few second then send request again!!!"); - return; - } - - if (target != null && target.ToLower(CultureInfo.CurrentCulture).Equals("run") && driveStatus == DriverStatus.RunningTasks) - { - string msg = string.Format(CultureInfo.CurrentCulture, - "A job is running. Please check driver status and then submit your job again."); - BuildHttpResponse(response, HttpStatusCode.OK, msg); - return; - } - - if (target != null && target.ToLower(CultureInfo.CurrentCulture).Equals("run") && driveStatus == DriverStatus.Idle) - { - string numberOfTasks = getQueryValue(request.Querystring, "numberoftasks"); - if (numberOfTasks == null) - { - BuildHttpResponse(response, HttpStatusCode.OK, "Please specify number of tasks to run"); - return; - } - - driveStatus = DriverStatus.RunningTasks; - using (LOGGER.LogFunction("HelloSimpleEventHandlers::Processing a new Job from web request")) - { - _taskContext = new TaskContext(); - _taskContext.TotalTasks = int.Parse(numberOfTasks, CultureInfo.CurrentCulture); - BuildHttpResponse(response, HttpStatusCode.OK, "Job from web request is submitted and is running!!!"); - } - - foreach (var c in _activeContexts) - { - SubmitNextTask(c); - } - return; - } - BuildHttpResponse(response, HttpStatusCode.OK, "Unsupported query"); - } - - private static IDictionary<string, string> ParseQueryString(string queryString) - { - IDictionary<string, string> queryPairs = new Dictionary<string, string>(); - if (queryString != null && queryString.Length > 0) - { - string[] queries = queryString.Split('&'); - foreach (string query in queries) - { - string[] pairs = query.Split('='); - if (pairs.Length == 2 && !pairs[0].Equals(string.Empty) && !pairs[1].Equals(string.Empty)) - { - queryPairs[pairs[0]] = pairs[1]; - LOGGER.Log(Level.Info, string.Format(CultureInfo.CurrentCulture, "query key: {0}, Query value: {1}.", pairs[0], pairs[1])); - } - } - } - return queryPairs; - } - - private static string getQueryValue(string queryString, string name) - { - IDictionary<string, string> pairs = ParseQueryString(queryString); - string v; - pairs.TryGetValue(name, out v); - return v; - } - - 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(HelloTask).Assembly.GetName().Name); - clrDlls.Add(typeof(INameClient).Assembly.GetName().Name); - clrDlls.Add(typeof(NameClient).Assembly.GetName().Name); - - ClrHandlerHelper.GenerateClassHierarchy(clrDlls); - } - - private void SubmitNextTask(IActiveContext activeContext) - { - LOGGER.Log(Level.Info, "SubmitNextTask with evaluatorid: " + activeContext.EvaluatorId); - IConfiguration finalConfiguration = GetNextTaskConfiguration(); - if (null != finalConfiguration) - { - LOGGER.Log(Level.Info, "Executing task id " + _taskContext.CurrentTaskId()); - LOGGER.Log(Level.Info, string.Format(CultureInfo.InvariantCulture, "Submitting Task {0}", _taskContext.CurrentTaskId())); - - activeContext.SubmitTask(finalConfiguration); - } - else - { - if (_taskContext.TaskCompleted == _taskContext.TotalTasks) - { - LOGGER.Log(Level.Info, "All tasks submitted and completed, active context remian idle"); - driveStatus = DriverStatus.Idle; - } - } - } - - private IConfiguration GetNextTaskConfiguration() - { - string nextTaskId = _taskContext.NextTaskId(); - LOGGER.Log(Level.Info, "GetNextTaskConfiguration, nextTaskId: " + nextTaskId); - if (nextTaskId != null) - { - IConfiguration taskConfiguration = TaskConfiguration.ConfigurationModule - .Set(TaskConfiguration.Identifier, nextTaskId) - .Set(TaskConfiguration.Task, GenericType<HelloTask>.Class) - .Set(TaskConfiguration.OnMessage, GenericType<HelloTask.HelloDriverMessageHandler>.Class) - .Set(TaskConfiguration.OnSendMessage, GenericType<HelloTaskMessage>.Class) - .Build(); - return taskConfiguration; - } - return null; - } - } - - class TaskContext - { - private IList<string> taskIds = new List<string>(); - - private IDictionary<string, TaskStatus> tasks = new Dictionary<string, TaskStatus>(); - - public TaskContext() - { - NextTaskIndex = 0; - TaskCompleted = 0; - } - - public int TotalTasks { get; set; } - - public int NextTaskIndex { get; set; } - - public int TaskCompleted { get; set; } - - public string NextTaskId() - { - Console.WriteLine("NextTaskId: " + NextTaskIndex); - if (NextTaskIndex < TotalTasks) - { - string id = "Jan7DemoTask_" + DateTime.Now.Ticks; - taskIds.Add(id); - tasks.Add(id, TaskStatus.Submitting); - NextTaskIndex++; - return id; - } - return null; - } - - public string CurrentTaskId() - { - Console.WriteLine("CurrentTaskIndex: " + (NextTaskIndex - 1)); - if (NextTaskIndex <= TotalTasks) - { - Console.WriteLine("CurrentTaskId: " + taskIds[NextTaskIndex - 1]); - return taskIds[NextTaskIndex - 1]; - } - return null; //either not started or completed - } - - public void UpdateTaskStatus(string taskId, TaskStatus status) - { - tasks[taskId] = status; - } - - public string TaskStatusString() - { - Console.WriteLine("TaskStatusString 1, nextTaskIndex: " + NextTaskIndex); - StringBuilder sb = new StringBuilder(); - - if (tasks.Count > 0) - { - foreach (var pair in tasks) - { - sb.AppendLine("Task id: " + pair.Key + " Task status: " + pair.Value.ToString()); - } - } - else - { - sb.Append("No task is running yet"); - } - - return sb.ToString(); - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/a7df272d/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloStartHandler.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloStartHandler.cs b/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloStartHandler.cs deleted file mode 100644 index 8d10471..0000000 --- a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloStartHandler.cs +++ /dev/null @@ -1,64 +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.Collections.Generic; -using Org.Apache.REEF.Common.io; -using Org.Apache.REEF.Driver; -using Org.Apache.REEF.Driver.bridge; -using Org.Apache.REEF.Driver.Bridge; -using Org.Apache.REEF.Network.Naming; -using Org.Apache.REEF.Tasks; -using Org.Apache.REEF.Utilities.Logging; -using Org.Apache.REEF.Tang.Annotations; - -namespace Org.Apache.REEF.Examples.HelloCLRBridge -{ - public class HelloStartHandler : IStartHandler - { - private static readonly Logger LOGGER = Logger.GetLogger(typeof(HelloStartHandler)); - - [Inject] - public HelloStartHandler(HttpServerPort httpServerPort) - { - CreateClassHierarchy(); - Identifier = "HelloStartHandler"; - LOGGER.Log(Level.Info, "HttpPort received in HelloStartHandler: " + httpServerPort.PortNumber); - } - - public HelloStartHandler(string id) - { - Identifier = id; - CreateClassHierarchy(); - } - - public string Identifier { get; set; } - - 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(HelloTask).Assembly.GetName().Name); - clrDlls.Add(typeof(INameClient).Assembly.GetName().Name); - clrDlls.Add(typeof(NameClient).Assembly.GetName().Name); - - ClrHandlerHelper.GenerateClassHierarchy(clrDlls); - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/a7df272d/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloTaskMessageHandler.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloTaskMessageHandler.cs b/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloTaskMessageHandler.cs deleted file mode 100644 index 9a989db..0000000 --- a/lang/cs/Source/REEF/reef-examples/HelloCLRBridge/handlers/HelloTaskMessageHandler.cs +++ /dev/null @@ -1,54 +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 System.Text; -using Org.Apache.REEF.Driver.Task; -using Org.Apache.REEF.Tang.Annotations; - -namespace Org.Apache.REEF.Examples.HelloCLRBridge -{ - public class HelloTaskMessageHandler : IObserver<ITaskMessage> - { - [Inject] - public HelloTaskMessageHandler() - { - } - - public void OnNext(ITaskMessage taskMessage) - { - Console.WriteLine(string.Format( - CultureInfo.InvariantCulture, - "CLR HelloTaskMessageHandler received following message from Task: {0}, Message: {1}.", - taskMessage.TaskId, - Encoding.UTF8.GetString(taskMessage.Message))); - } - - 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/a7df272d/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/Properties/AssemblyInfo.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/Properties/AssemblyInfo.cs b/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/Properties/AssemblyInfo.cs deleted file mode 100644 index 726f304..0000000 --- a/lang/cs/Source/REEF/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("RetainedEvalCLRBridge")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("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/a7df272d/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/RetainedEvalCLRBridge.csproj ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/RetainedEvalCLRBridge.csproj b/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/RetainedEvalCLRBridge.csproj deleted file mode 100644 index 4293057..0000000 --- a/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/RetainedEvalCLRBridge.csproj +++ /dev/null @@ -1,122 +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>{A33C20FB-A76E-494C-80C5-BCE4BAD876D3}</ProjectGuid> - <OutputType>Library</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <RootNamespace>Org.Apache.Reef.Examples.RetainedEvalCLRBridge</RootNamespace> - <AssemblyName>Org.Apache.Reef.Examples.RetainedEvalCLRBridge</AssemblyName> - <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> - <FileAlignment>512</FileAlignment> - <RestorePackages>true</RestorePackages> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\..\..</SolutionDir> - </PropertyGroup> - <Import Project="$(SolutionDir)\Source\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="handler\RetainedEvalActiveContextHandler.cs" /> - <Compile Include="handler\RetainedEvalAllocatedEvaluatorHandler.cs" /> - <Compile Include="handler\RetainedEvalEvaluatorRequestorHandler.cs" /> - <Compile Include="handler\RetainedEvalStartHandler.cs" /> - <Compile Include="Properties\AssemblyInfo.cs" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="$(SourceDir)\Reef\reef-tasks\Tasks\Tasks.csproj"> - <Project>{75503f90-7b82-4762-9997-94b5c68f15db}</Project> - <Name>Tasks</Name> - </ProjectReference> - <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="..\..\..\..\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="..\..\..\..\Org.Apache.Reef.Driver\Org.Apache.Reef.Driver.csproj"> - <Project>{a6baa2a7-f52f-4329-884e-1bcf711d6805}</Project> - <Name>Org.Apache.Reef.Driver</Name> - </ProjectReference> - <ProjectReference Include="..\..\..\..\Org.Apache.Reef.Wake\Org.Apache.Reef.Wake.csproj"> - <Project>{cdfb3464-4041-42b1-9271-83af24cd5008}</Project> - <Name>Org.Apache.Reef.Wake</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/a7df272d/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/handler/RetainedEvalActiveContextHandler.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/handler/RetainedEvalActiveContextHandler.cs b/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/handler/RetainedEvalActiveContextHandler.cs deleted file mode 100644 index 558f47a..0000000 --- a/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/handler/RetainedEvalActiveContextHandler.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 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; - -namespace Org.Apache.REEF.Examples.RetainedEvalBridge -{ - 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/a7df272d/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/handler/RetainedEvalAllocatedEvaluatorHandler.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/handler/RetainedEvalAllocatedEvaluatorHandler.cs b/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/handler/RetainedEvalAllocatedEvaluatorHandler.cs deleted file mode 100644 index 648273f..0000000 --- a/lang/cs/Source/REEF/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.RetainedEvalBridge -{ - 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/a7df272d/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/handler/RetainedEvalEvaluatorRequestorHandler.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/handler/RetainedEvalEvaluatorRequestorHandler.cs b/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/handler/RetainedEvalEvaluatorRequestorHandler.cs deleted file mode 100644 index d6f239d..0000000 --- a/lang/cs/Source/REEF/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.RetainedEvalCLRBridge -{ - 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/a7df272d/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/handler/RetainedEvalStartHandler.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/handler/RetainedEvalStartHandler.cs b/lang/cs/Source/REEF/reef-examples/RetainedEvalCLRBridge/handler/RetainedEvalStartHandler.cs deleted file mode 100644 index 12a9f04..0000000 --- a/lang/cs/Source/REEF/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.Examples.RetainedEvalBridge; -using Org.Apache.REEF.Examples.RetainedEvalCLRBridge; -using Org.Apache.REEF.Tasks; -using Org.Apache.REEF.Tang.Annotations; -using System; -using System.Collections.Generic; -using System.Linq; - -namespace Org.Apache.REEF.Interop.Examples.RetainedEval -{ - 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/a7df272d/lang/cs/Source/REEF/reef-tasks/Tasks/FailedTask/FailedTask.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-tasks/Tasks/FailedTask/FailedTask.cs b/lang/cs/Source/REEF/reef-tasks/Tasks/FailedTask/FailedTask.cs deleted file mode 100644 index 120193c..0000000 --- a/lang/cs/Source/REEF/reef-tasks/Tasks/FailedTask/FailedTask.cs +++ /dev/null @@ -1,44 +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 System; -using System.Threading; - -namespace Org.Apache.REEF.Tasks -{ - 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/a7df272d/lang/cs/Source/REEF/reef-tasks/Tasks/HelloTask/HelloService.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-tasks/Tasks/HelloTask/HelloService.cs b/lang/cs/Source/REEF/reef-tasks/Tasks/HelloTask/HelloService.cs deleted file mode 100644 index 6f1096a..0000000 --- a/lang/cs/Source/REEF/reef-tasks/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 Org.Apache.REEF.Services; -using Org.Apache.REEF.Tang.Annotations; -using System; -using System.Collections.Generic; - -namespace Org.Apache.REEF.Tasks -{ - 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/a7df272d/lang/cs/Source/REEF/reef-tasks/Tasks/HelloTask/HelloTask.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-tasks/Tasks/HelloTask/HelloTask.cs b/lang/cs/Source/REEF/reef-tasks/Tasks/HelloTask/HelloTask.cs deleted file mode 100644 index 711dbb5..0000000 --- a/lang/cs/Source/REEF/reef-tasks/Tasks/HelloTask/HelloTask.cs +++ /dev/null @@ -1,123 +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.Common.io; -using Org.Apache.REEF.Tasks.Events; -using Org.Apache.REEF.Utilities; -using Org.Apache.REEF.Utilities.Logging; -using Org.Apache.REEF.Tang.Annotations; -using System; -using System.Linq; -using System.Net; -using System.Threading; - -namespace Org.Apache.REEF.Tasks -{ - 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/a7df272d/lang/cs/Source/REEF/reef-tasks/Tasks/HelloTask/HelloTaskMessage.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-tasks/Tasks/HelloTask/HelloTaskMessage.cs b/lang/cs/Source/REEF/reef-tasks/Tasks/HelloTask/HelloTaskMessage.cs deleted file mode 100644 index 5304849..0000000 --- a/lang/cs/Source/REEF/reef-tasks/Tasks/HelloTask/HelloTaskMessage.cs +++ /dev/null @@ -1,49 +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.Utilities; -using Org.Apache.REEF.Tang.Annotations; -using System; -using System.Globalization; - -namespace Org.Apache.REEF.Tasks -{ - 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/a7df272d/lang/cs/Source/REEF/reef-tasks/Tasks/Properties/AssemblyInfo.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Source/REEF/reef-tasks/Tasks/Properties/AssemblyInfo.cs b/lang/cs/Source/REEF/reef-tasks/Tasks/Properties/AssemblyInfo.cs deleted file mode 100644 index 4a41805..0000000 --- a/lang/cs/Source/REEF/reef-tasks/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")]
