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/01/29 21:43:15 UTC

[31/31] incubator-reef git commit: [REEF-97] Add the REEF.NET code base

[REEF-97] Add the REEF.NET code base

The REEF.Net REEF code is now found in the lang/cs/ folder.

JIRA: [REEF-97] https://issues.apache.org/jira/browse/REEF-97

Pull Request: This closes #56


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

Branch: refs/heads/master
Commit: 2ae282de19a1a6dec2f8563936a3fac19232c76f
Parents: 5cc6071
Author: Julia Wang <ju...@microsoft.com>
Authored: Fri Jan 23 13:34:36 2015 -0800
Committer: Markus Weimer <we...@apache.org>
Committed: Thu Jan 29 12:39:17 2015 -0800

----------------------------------------------------------------------
 lang/cs/.gitignore                              |   10 +
 lang/cs/.nuget/NuGet.Config                     |   24 +
 lang/cs/.nuget/NuGet.targets                    |  162 +++
 lang/cs/ReefDotNet.sln                          |  161 +++
 .../CLRBridgeClient/CLRBridgeClient.cs          |  148 +++
 .../CLRBridgeClient/CLRBridgeClient.csproj      |  114 ++
 .../CLRBridgeClient/Properties/AssemblyInfo.cs  |   55 +
 .../reef-applications/CLRBridgeClient/run.cmd   |   45 +
 .../reef-applications/Evaluator/Evaluator.cs    |  260 ++++
 .../Evaluator/Evaluator.csproj                  |  105 ++
 .../Evaluator/Properties/AssemblyInfo.cs        |   55 +
 .../reef-applications/Evaluator/packages.config |   22 +
 .../ReefCommon/ClientJobStatusHandler.cs        |  142 +++
 .../REEF/reef-common/ReefCommon/Constants.cs    |   38 +
 .../EvaluatorHeartBeatSanityChecker.cs          |   55 +
 .../reef-common/ReefCommon/FailedRuntime.cs     |   49 +
 .../ReefCommon/IContextAndTaskSubmittable.cs    |   55 +
 .../ReefCommon/IContextSubmittable.cs           |   42 +
 .../ReefCommon/IJobMessageObserver.cs           |   30 +
 .../reef-common/ReefCommon/ITaskSubmittable.cs  |   35 +
 .../ReefCommon/Properties/AssemblyInfo.cs       |   55 +
 .../reef-common/ReefCommon/ReefCommon.csproj    |  215 ++++
 .../ReefCommon/api/AbstractFailure.cs           |  142 +++
 .../ReefCommon/api/IAbstractFailure.cs          |   25 +
 .../REEF/reef-common/ReefCommon/api/IFailure.cs |   57 +
 .../ReefCommon/api/IResourceLaunchHandler.cs    |   28 +
 .../ReefCommon/api/IResourceReleaseHandler.cs   |   28 +
 .../ReefCommon/api/IResourceRequestHandler.cs   |   28 +
 .../ReefCommon/avro/AvroDriverInfo.cs           |   65 +
 .../ReefCommon/avro/AvroHttpRequest.cs          |   79 ++
 .../ReefCommon/avro/AvroHttpSerializer.cs       |   36 +
 .../ReefCommon/avro/AvroJsonSerializer.cs       |   52 +
 .../ReefCommon/avro/AvroReefServiceInfo.cs      |   55 +
 .../ReefCommon/catalog/INodeDescriptor.cs       |   36 +
 .../ReefCommon/catalog/IRackDescriptor.cs       |   25 +
 .../ReefCommon/catalog/IResourceCatalog.cs      |   37 +
 .../ReefCommon/catalog/NodeDescriptorImpl.cs    |  116 ++
 .../ReefCommon/catalog/RackDescriptorImpl.cs    |   75 ++
 .../ReefCommon/catalog/ResourceCatalogImpl.cs   |   95 ++
 .../ReefCommon/catalog/capabilities/CPU.cs      |   60 +
 .../catalog/capabilities/ICapability.cs         |   25 +
 .../ReefCommon/catalog/capabilities/RAM.cs      |   51 +
 .../ReefCommon/context/ContextMessage.cs        |   66 +
 .../ReefCommon/context/IContextMessage.cs       |   28 +
 .../context/IContextMessageHandler.cs           |   27 +
 .../ReefCommon/context/IContextMessageSource.cs |   28 +
 .../DefaultLocalHttpDriverConnection.cs         |   45 +
 .../DefaultYarnClusterHttpDriverConnection.cs   |   44 +
 .../DefaultYarnOneBoxHttpDriverConnection.cs    |   46 +
 .../ReefCommon/evaluator/DriverInformation.cs   |  136 ++
 .../evaluator/EvaluatorOperationState.cs        |   39 +
 .../evaluator/EvaluatorRuntimeState.cs          |   39 +
 .../ReefCommon/evaluator/EvaluatorType.cs       |   39 +
 .../ReefCommon/evaluator/IDriverConnection.cs   |   26 +
 .../ReefCommon/events/IContextStart.cs          |   26 +
 .../ReefCommon/events/IContextStop.cs           |   26 +
 .../ReefCommon/exceptions/EvaluatorException.cs |   75 ++
 .../ReefCommon/exceptions/JobException.cs       |   58 +
 .../reef-common/ReefCommon/io/INameClient.cs    |   71 ++
 .../reef-common/ReefCommon/io/NameAssignment.cs |   60 +
 .../ReefCommon/io/NamingConfiguration.cs        |   45 +
 .../ReefCommon/io/NamingConfigurationOptions.cs |   36 +
 .../REEF/reef-common/ReefCommon/packages.config |   26 +
 .../ReefCommon/protobuf/cs/ClientRuntime.pb.cs  |  147 +++
 .../ReefCommon/protobuf/cs/DriverRuntime.pb.cs  |  339 +++++
 .../protobuf/cs/EvaluatorRunTime.pb.cs          |  305 +++++
 .../ReefCommon/protobuf/cs/ReefProtocol.pb.cs   |   78 ++
 .../ReefCommon/protobuf/cs/ReefService.pb.cs    |  393 ++++++
 .../ReefCommon/protobuf/cs/Serializer.cs        |  130 ++
 .../cs/codec/EvaluatorHeartbeatProtoCodec.cs    |   41 +
 .../protobuf/cs/codec/REEFMessageCodec.cs       |   37 +
 .../protobuf/proto/client_runtime.proto         |   56 +
 .../protobuf/proto/driver_runtime.proto         |   90 ++
 .../protobuf/proto/evaluator_runtime.proto      |   91 ++
 .../protobuf/proto/reef_protocol.proto          |   44 +
 .../protobuf/proto/reef_service_protos.proto    |  117 ++
 .../ReefCommon/runtime/MachineStatus.cs         |  137 +++
 .../ReefCommon/runtime/evaluator/Constants.cs   |   40 +
 .../runtime/evaluator/EvaluatorRuntime.cs       |  255 ++++
 .../runtime/evaluator/EvaluatorSettings.cs      |  185 +++
 .../runtime/evaluator/HeartBeatManager.cs       |  390 ++++++
 .../evaluator/ReefMessageProtoObserver.cs       |  140 +++
 .../context/ContextClientCodeException.cs       |   70 ++
 .../evaluator/context/ContextConfiguration.cs   |  140 +++
 .../evaluator/context/ContextLifeCycle.cs       |  105 ++
 .../runtime/evaluator/context/ContextManager.cs |  362 ++++++
 .../runtime/evaluator/context/ContextRuntime.cs |  478 ++++++++
 .../evaluator/context/ContextStartImpl.cs       |   33 +
 .../evaluator/context/ContextStopImpl.cs        |   33 +
 .../evaluator/context/RootContextLauncher.cs    |  125 ++
 .../runtime/evaluator/task/CloseEventImpl.cs    |   48 +
 .../runtime/evaluator/task/DriverMessageImpl.cs |   52 +
 .../runtime/evaluator/task/SuspendEventImpl.cs  |   48 +
 .../evaluator/task/TaskClientCodeException.cs   |   65 +
 .../runtime/evaluator/task/TaskLifeCycle.cs     |   69 ++
 .../runtime/evaluator/task/TaskRuntime.cs       |  328 +++++
 .../runtime/evaluator/task/TaskStartImpl.cs     |   34 +
 .../runtime/evaluator/task/TaskState.cs         |   40 +
 .../runtime/evaluator/task/TaskStatus.cs        |  330 +++++
 .../runtime/evaluator/task/TaskStopImpl.cs      |   35 +
 .../evaluator/utils/EvaluatorConfigurations.cs  |  121 ++
 .../runtime/evaluator/utils/RemoteManager.cs    |   25 +
 .../reef-common/ReefCommon/services/IService.cs |   25 +
 .../ReefCommon/services/ServiceConfiguration.cs |   83 ++
 .../services/ServicesConfigurationOptions.cs    |   31 +
 .../ReefCommon/tasks/IDriverMessageHandler.cs   |   31 +
 .../ReefCommon/tasks/IRunningTask.cs            |   53 +
 .../REEF/reef-common/ReefCommon/tasks/ITask.cs  |   28 +
 .../ReefCommon/tasks/ITaskMessageSource.cs      |   31 +
 .../ReefCommon/tasks/TaskConfiguration.cs       |  148 +++
 .../tasks/TaskConfigurationOptions.cs           |   69 ++
 .../reef-common/ReefCommon/tasks/TaskMessage.cs |   68 +
 .../defaults/DefaultDriverMessageHandler.cs     |   42 +
 .../tasks/defaults/DefaultTaskMessageSource.cs  |   49 +
 .../ReefCommon/tasks/events/ICloseEvent.cs      |   28 +
 .../ReefCommon/tasks/events/IDriverMessage.cs   |   28 +
 .../ReefCommon/tasks/events/ISuspendEvent.cs    |   25 +
 .../ReefCommon/tasks/events/ITaskStart.cs       |   26 +
 .../ReefCommon/tasks/events/ITaskStop.cs        |   26 +
 .../reef-common/ReefDriver/ClientManager.cs     |   43 +
 .../REEF/reef-common/ReefDriver/Constants.cs    |  114 ++
 .../ReefDriver/DriverConfigGenerator.cs         |  151 +++
 .../ReefDriver/DriverConfigurationSettings.cs   |  135 ++
 .../reef-common/ReefDriver/DriverManager.cs     |  540 ++++++++
 .../ReefDriver/DriverRuntimeConfiguration.cs    |   64 +
 .../DriverRuntimeConfigurationOptions.cs        |   42 +
 .../ReefDriver/DriverSubmissionSettings.cs      |  185 +++
 .../reef-common/ReefDriver/EvaluatorManager.cs  |  655 ++++++++++
 .../REEF/reef-common/ReefDriver/FailedJob.cs    |   51 +
 .../REEF/reef-common/ReefDriver/IDriver.cs      |   28 +
 .../reef-common/ReefDriver/IStartHandler.cs     |   26 +
 .../ReefDriver/Properties/AssemblyInfo.cs       |   55 +
 .../reef-common/ReefDriver/ReefDriver.csproj    |  208 ++++
 .../ReefDriver/bridge/BridgeLogger.cs           |   65 +
 .../ReefDriver/bridge/ClrClientHelper.cs        |  175 +++
 .../ReefDriver/bridge/ClrHandlerHelper.cs       |  177 +++
 .../ReefDriver/bridge/ClrSystemHandler.cs       |   53 +
 .../bridge/ClrSystemHandlerWrapper.cs           |  273 +++++
 .../ReefDriver/bridge/DriverBridge.cs           |  321 +++++
 .../bridge/DriverBridgeConfiguration.cs         |  273 +++++
 .../bridge/DriverBridgeConfigurationOptions.cs  |  154 +++
 .../ReefDriver/bridge/HttpMessage.cs            |   60 +
 .../ReefDriver/bridge/HttpServerHandler.cs      |  165 +++
 .../ReefDriver/bridge/HttpServerPort.cs         |   33 +
 .../ReefDriver/bridge/IHttpHandler.cs           |   39 +
 .../ReefDriver/bridge/IHttpMessage.cs           |   33 +
 .../ReefDriver/bridge/ReefHttpRequest.cs        |   49 +
 .../ReefDriver/bridge/ReefHttpResponse.cs       |   30 +
 .../bridge/clr2java/IActiveContextClr2Java.cs   |   36 +
 .../clr2java/IAllocatedEvaluaotrClr2Java.cs     |   42 +
 .../bridge/clr2java/IClosedContextClr2Java.cs   |   34 +
 .../ReefDriver/bridge/clr2java/IClr2Java.cs     |   26 +
 .../clr2java/ICompletedEvaluatorClr2Java.cs     |   30 +
 .../bridge/clr2java/ICompletedTaskClr2Java.cs   |   28 +
 .../bridge/clr2java/IContextMessageClr2Java.cs  |   30 +
 .../clr2java/IEvaluatorRequestorClr2Java.cs     |   28 +
 .../bridge/clr2java/IFailedContextClr2Java.cs   |   36 +
 .../bridge/clr2java/IFailedEvaluatorClr2Java.cs |   30 +
 .../bridge/clr2java/IFailedTaskClr2Java.cs      |   28 +
 .../clr2java/IHttpServerBridgeClr2Java.cs       |   34 +
 .../bridge/clr2java/IRunningTaskClr2Java.cs     |   30 +
 .../bridge/clr2java/ISuspendedTaskClr2Java.cs   |   42 +
 .../bridge/clr2java/ITaskMessageClr2Java.cs     |   26 +
 .../ReefDriver/bridge/events/ActiveContext.cs   |  117 ++
 .../bridge/events/AllocatedEvaluator.cs         |  175 +++
 .../ReefDriver/bridge/events/ClosedContext.cs   |   98 ++
 .../bridge/events/CompletedEvaluator.cs         |   60 +
 .../ReefDriver/bridge/events/CompletedTask.cs   |   75 ++
 .../ReefDriver/bridge/events/ContextMessage.cs  |   53 +
 .../bridge/events/EvaluatorRequstor.cs          |   95 ++
 .../ReefDriver/bridge/events/FailedContext.cs   |  110 ++
 .../ReefDriver/bridge/events/FailedEvaluator.cs |   72 ++
 .../ReefDriver/bridge/events/FailedTask.cs      |  140 +++
 .../ReefDriver/bridge/events/RunningTask.cs     |   97 ++
 .../ReefDriver/bridge/events/SuspendedTask.cs   |   81 ++
 .../ReefDriver/bridge/events/TaskMessage.cs     |   64 +
 .../ReefDriver/context/ContextConfiguration.cs  |   93 ++
 .../context/ContextConfigurationOptions.cs      |   60 +
 .../ReefDriver/context/EvaluatorContext.cs      |  148 +++
 .../ReefDriver/context/IActiveContext.cs        |   29 +
 .../ReefDriver/context/IClosedContext.cs        |   26 +
 .../reef-common/ReefDriver/context/IContext.cs  |   45 +
 .../ReefDriver/context/IFailedContext.cs        |   28 +
 .../defaults/DefaultContextMessageSource.cs     |   42 +
 .../defaults/DefaultContextStartHandler.cs      |   48 +
 .../defaults/DefaultContextStopHandler.cs       |   48 +
 .../ReefDriver/contract/IBridgeContract.cs      |   26 +
 .../defaults/DefaultClientCloseHandler.cs       |   53 +
 .../DefaultClientCloseWithMessageHandler.cs     |   54 +
 .../defaults/DefaultClientMessageHandler.cs     |   54 +
 .../defaults/DefaultContextActiveHandler.cs     |   56 +
 .../defaults/DefaultContextClosureHandler.cs    |   55 +
 .../defaults/DefaultContextFailureHandler.cs    |   51 +
 .../defaults/DefaultContextMessageHandler.cs    |   55 +
 .../defaults/DefaultCustomTraceListener.cs      |   45 +
 .../DefaultDriverRestartContextActiveHandler.cs |   56 +
 .../defaults/DefaultDriverRestartHandler.cs     |   54 +
 .../DefaultDriverRestartTaskRunningHandler.cs   |   54 +
 .../DefaultEvaluatorAllocationHandler.cs        |   57 +
 .../DefaultEvaluatorCompletionHandler.cs        |   54 +
 .../defaults/DefaultEvaluatorFailureHandler.cs  |   55 +
 .../DefaultEvaluatorRequestorHandler.cs         |   61 +
 .../ReefDriver/defaults/DefaultHttpHandler.cs   |   49 +
 .../defaults/DefaultTaskCompletionHandler.cs    |   60 +
 .../defaults/DefaultTaskFailureHandler.cs       |   53 +
 .../defaults/DefaultTaskMessageHandler.cs       |   55 +
 .../defaults/DefaultTaskRunningHandler.cs       |   54 +
 .../defaults/DefaultTaskSuspensionHandler.cs    |   53 +
 .../evaluator/EvaluatorDescriptorImpl.cs        |  218 ++++
 .../ReefDriver/evaluator/EvaluatorRequest.cs    |  108 ++
 .../evaluator/EvaluatorRequestBuilder.cs        |   60 +
 .../ReefDriver/evaluator/IAllocatedEvaluator.cs |   55 +
 .../ReefDriver/evaluator/ICompletedEvaluator.cs |   30 +
 .../evaluator/IEvaluatorDescriptor.cs           |   57 +
 .../ReefDriver/evaluator/IEvaluatorRequest .cs  |   42 +
 .../ReefDriver/evaluator/IEvaluatorRequestor.cs |   47 +
 .../ReefDriver/evaluator/IFailedEvaluator.cs    |   41 +
 .../REEF/reef-common/ReefDriver/packages.config |   24 +
 .../ReefDriver/task/ICompletedTask.cs           |   29 +
 .../reef-common/ReefDriver/task/IFailedTask.cs  |   30 +
 .../reef-common/ReefDriver/task/IRunningTask.cs |   65 +
 .../ReefDriver/task/ISuspendedTask.cs           |   29 +
 .../reef-common/ReefDriver/task/ITaskMessage.cs |   28 +
 .../ReefDriver/task/RunningTaskImpl.cs          |  127 ++
 .../HelloCLRBridge/HelloCLRBridge.csproj        |  118 ++
 .../HelloCLRBridge/HelloTraceListener.cs        |   48 +
 .../HelloCLRBridge/Properties/AssemblyInfo.cs   |   55 +
 .../AnotherHelloAllocatedEvaluatorHandler.cs    |   48 +
 .../handlers/HelloActiveContextHandler.cs       |   82 ++
 .../handlers/HelloAllocatedEvaluatorHandler.cs  |  131 ++
 .../handlers/HelloCompletedEvaluatorHandler.cs  |   59 +
 .../HelloDriverRestartActiveContextHandler.cs   |   69 ++
 .../HelloDriverRestartRunningTaskHandler.cs     |   67 +
 .../handlers/HelloEvaluatorRequestorHandler.cs  |   65 +
 .../handlers/HelloFailedEvaluatorHandler.cs     |   68 +
 .../handlers/HelloFailedTaskHandler.cs          |   67 +
 .../HelloCLRBridge/handlers/HelloHttpHandler.cs |   51 +
 .../handlers/HelloRestartHandler.cs             |   48 +
 .../handlers/HelloRunningTaskHandler.cs         |   65 +
 .../handlers/HelloSimpleEventHandlers.cs        |  421 +++++++
 .../handlers/HelloStartHandler.cs               |   64 +
 .../handlers/HelloTaskMessageHandler.cs         |   54 +
 .../Properties/AssemblyInfo.cs                  |   55 +
 .../RetainedEvalCLRBridge.csproj                |   98 ++
 .../handler/RetainedEvalActiveContextHandler.cs |   56 +
 .../RetainedEvalAllocatedEvaluatorHandler.cs    |   48 +
 .../RetainedEvalEvaluatorRequestorHandler.cs    |   48 +
 .../handler/RetainedEvalStartHandler.cs         |   90 ++
 .../Naming/Codec/NamingLookupRequestCodec.cs    |   41 +
 .../Naming/Codec/NamingLookupResponseCodec.cs   |   55 +
 .../Naming/Codec/NamingRegisterRequestCodec.cs  |   47 +
 .../Naming/Codec/NamingRegisterResponseCodec.cs |   44 +
 .../Codec/NamingUnregisterRequestCodec.cs       |   41 +
 .../Naming/Contracts/AvroNamingAssignment.cs    |   62 +
 .../Naming/Contracts/AvroNamingLookupRequest.cs |   51 +
 .../Contracts/AvroNamingLookupResponse.cs       |   51 +
 .../Contracts/AvroNamingRegisterRequest.cs      |   62 +
 .../Contracts/AvroNamingUnRegisterRequest.cs    |   50 +
 .../Network/Naming/Events/NamingEvent.cs        |   35 +
 .../Naming/Events/NamingGetAllRequest.cs        |   29 +
 .../Naming/Events/NamingGetAllResponse.cs       |   38 +
 .../Naming/Events/NamingLookupRequest.cs        |   36 +
 .../Naming/Events/NamingLookupResponse.cs       |   39 +
 .../Naming/Events/NamingRegisterRequest.cs      |   36 +
 .../Naming/Events/NamingRegisterResponse.cs     |   34 +
 .../Naming/Events/NamingUnregisterRequest.cs    |   34 +
 .../Naming/Events/NamingUnregisterResponse.cs   |   34 +
 .../REEF/reef-io/Network/Naming/INameServer.cs  |   69 ++
 .../REEF/reef-io/Network/Naming/NameClient.cs   |  279 +++++
 .../reef-io/Network/Naming/NameLookupClient.cs  |   97 ++
 .../Network/Naming/NameRegisterClient.cs        |   67 +
 .../REEF/reef-io/Network/Naming/NameServer.cs   |  196 +++
 .../Network/Naming/NamingConfiguration.cs       |   50 +
 .../Naming/NamingConfigurationOptions.cs        |   41 +
 .../Observers/NamingGetAllRequestObserver.cs    |   47 +
 .../Observers/NamingLookupRequestObserver.cs    |   50 +
 .../Observers/NamingRegisterRequestObserver.cs  |   51 +
 .../NamingUnregisterRequestObserver.cs          |   47 +
 .../Source/REEF/reef-io/Network/Network.csproj  |  159 +++
 .../NetworkService/Codec/ControlMessageCodec.cs |   43 +
 .../NetworkService/Codec/NsMessageCodec.cs      |   85 ++
 .../NetworkService/Codec/NsMessageProto.cs      |   63 +
 .../Network/NetworkService/ControlMessage.cs    |   39 +
 .../Network/NetworkService/IConnection.cs       |   40 +
 .../Network/NetworkService/INetworkService.cs   |   58 +
 .../Network/NetworkService/NetworkService.cs    |  156 +++
 .../NetworkServiceConfiguration.cs              |   57 +
 .../NetworkService/NetworkServiceOptions.cs     |   33 +
 .../Network/NetworkService/NsConnection.cs      |  139 +++
 .../reef-io/Network/NetworkService/NsMessage.cs |   71 ++
 .../reef-io/Network/Properties/AssemblyInfo.cs  |   55 +
 .../Utilities/BlockingCollectionExtensions.cs   |   78 ++
 .../REEF/reef-io/Network/Utilities/Utils.cs     |   76 ++
 .../Source/REEF/reef-io/Network/packages.config |   26 +
 .../reef-tasks/Tasks/FailedTask/FailedTask.cs   |   44 +
 .../reef-tasks/Tasks/HelloTask/HelloService.cs  |   58 +
 .../reef-tasks/Tasks/HelloTask/HelloTask.cs     |  123 ++
 .../Tasks/HelloTask/HelloTaskMessage.cs         |   49 +
 .../reef-tasks/Tasks/Properties/AssemblyInfo.cs |   55 +
 .../reef-tasks/Tasks/ShellTask/ShellTask.cs     |   90 ++
 .../Tasks/StreamingTasks/StreamTask1.cs         |   66 +
 .../Tasks/StreamingTasks/StreamTask2.cs         |   50 +
 .../Source/REEF/reef-tasks/Tasks/Tasks.csproj   |   93 ++
 lang/cs/Source/TANG/Examples/AnonymousType.cs   |   57 +
 lang/cs/Source/TANG/Examples/CheckChild.cs      |   37 +
 .../Examples/DocumentedLocalNamedParameter.cs   |   43 +
 lang/cs/Source/TANG/Examples/Examples.csproj    |   95 ++
 lang/cs/Source/TANG/Examples/FileNames.cs       |   39 +
 .../TANG/Examples/ForksInjectorInConstructor.cs |   59 +
 lang/cs/Source/TANG/Examples/GenericArgument.cs |   48 +
 .../Source/TANG/Examples/GenericAsArgument.cs   |   44 +
 .../TANG/Examples/NamedParameterConstructors.cs |   40 +
 .../TANG/Examples/Properties/AssemblyInfo.cs    |   55 +
 lang/cs/Source/TANG/Examples/ShortNameFooAB.cs  |   38 +
 .../Source/TANG/Examples/SimpleConstructors.cs  |   42 +
 lang/cs/Source/TANG/Examples/TestClasses.cs     |   57 +
 lang/cs/Source/TANG/Examples/Timer.cs           |   46 +
 lang/cs/Source/TANG/Examples/TweetExample.cs    |   90 ++
 .../Tang/Annotations/DefaultImplementation.cs   |   43 +
 lang/cs/Source/TANG/Tang/Annotations/Inject.cs  |   28 +
 lang/cs/Source/TANG/Tang/Annotations/Name.cs    |   28 +
 .../TANG/Tang/Annotations/NamedParameter.cs     |   44 +
 .../Source/TANG/Tang/Annotations/Parameter.cs   |   39 +
 lang/cs/Source/TANG/Tang/Annotations/Unit.cs    |   29 +
 .../TANG/Tang/Exceptions/BindException.cs       |   36 +
 .../Tang/Exceptions/ClassHierarchyException.cs  |   34 +
 .../Tang/Exceptions/IllegalStateException.cs    |   40 +
 .../TANG/Tang/Exceptions/InjectionException.cs  |   35 +
 .../Tang/Exceptions/NameResolutionException.cs  |   37 +
 .../TANG/Tang/Exceptions/ParseException.cs      |   36 +
 .../AvroConfiguration.cs                        |   47 +
 .../ConfigurationEntry.cs                       |   44 +
 .../Tang/Formats/AvroConfigurationSerializer.cs |  324 +++++
 .../TANG/Tang/Formats/ConfigurationFile.cs      |  371 ++++++
 .../TANG/Tang/Formats/ConfigurationModule.cs    |  302 +++++
 .../Tang/Formats/ConfigurationModuleBuilder.cs  |  519 ++++++++
 .../Tang/Formats/IConfigurationSerializer.cs    |   49 +
 lang/cs/Source/TANG/Tang/Formats/IImpl.cs       |   31 +
 lang/cs/Source/TANG/Tang/Formats/IParam.cs      |   31 +
 .../cs/Source/TANG/Tang/Formats/OptionalImpl.cs |   31 +
 .../TANG/Tang/Formats/OptionalParameter.cs      |   31 +
 lang/cs/Source/TANG/Tang/Formats/Provides.cs    |   31 +
 .../cs/Source/TANG/Tang/Formats/RequiredImpl.cs |   31 +
 .../TANG/Tang/Formats/RequiredParameter.cs      |   31 +
 .../ClassHierarchy/AbstractNode.cs              |  131 ++
 .../ClassHierarchy/ClassHierarchyImpl.cs        |  526 ++++++++
 .../ClassHierarchy/ClassNodeImpl.cs             |  157 +++
 .../ClassHierarchy/ConstructorArgImpl.cs        |   97 ++
 .../ClassHierarchy/ConstructorDefImpl.cs        |  203 +++
 .../ClassHierarchy/NamedParameterNodeImpl.cs    |   88 ++
 .../ClassHierarchy/NodeFactory.cs               |  315 +++++
 .../ClassHierarchy/PackageNodeImpl.cs           |   49 +
 .../ClassHierarchy/ParameterParser.cs           |  199 +++
 .../Configuration/ConfigurationBuilderImpl.cs   |  364 ++++++
 .../Configuration/ConfigurationImpl.cs          |  122 ++
 .../Configuration/Configurations.cs             |   55 +
 .../Configuration/CsConfigurationBuilderImpl.cs |  489 ++++++++
 .../Configuration/CsConfigurationImpl.cs        |   34 +
 .../InjectionPlan/Constructor.cs                |  217 ++++
 .../Implementations/InjectionPlan/CsInstance.cs |   90 ++
 .../InjectionPlan/InjectionFuture.cs            |  100 ++
 .../InjectionPlan/InjectionFuturePlan.cs        |   73 ++
 .../InjectionPlan/InjectionPlan.cs              |  222 ++++
 .../InjectionPlan/InjectorImpl.cs               | 1091 +++++++++++++++++
 .../InjectionPlan/ListInjectionPlan.cs          |  117 ++
 .../InjectionPlan/SetInjectionPlan.cs           |  122 ++
 .../Implementations/InjectionPlan/Subplan.cs    |  235 ++++
 .../Tang/Implementations/Tang/TangFactory.cs    |   30 +
 .../TANG/Tang/Implementations/Tang/TangImpl.cs  |  201 +++
 lang/cs/Source/TANG/Tang/Interface/IAspect.cs   |   31 +
 .../TANG/Tang/Interface/IClassHierarchy.cs      |   30 +
 .../TANG/Tang/Interface/IConfiguration.cs       |   49 +
 .../Tang/Interface/IConfigurationBuilder.cs     |   54 +
 .../TANG/Tang/Interface/ICsClassHierarchy.cs    |   33 +
 .../Tang/Interface/ICsConfigurationBuilder.cs   |  121 ++
 .../ICsInternalConfigurationBuilder.cs          |   70 ++
 .../TANG/Tang/Interface/IExternalConstructor.cs |   26 +
 lang/cs/Source/TANG/Tang/Interface/IInjector.cs |  180 +++
 lang/cs/Source/TANG/Tang/Interface/ITang.cs     |   46 +
 .../Source/TANG/Tang/Properties/AssemblyInfo.cs |   55 +
 .../Protobuf/ProtocolBufferClassHierarchy.cs    |  473 +++++++
 .../Protobuf/ProtocolBufferInjectionPlan.cs     |  204 +++
 .../TANG/Tang/Protobuf/class_hierarchy.cs       |  274 +++++
 .../Source/TANG/Tang/Protobuf/injection_plan.cs |  132 ++
 lang/cs/Source/TANG/Tang/Tang.csproj            |  179 +++
 lang/cs/Source/TANG/Tang/Types/IClassNode.cs    |   37 +
 .../Source/TANG/Tang/Types/IConstructorArg.cs   |   32 +
 .../Source/TANG/Tang/Types/IConstructorDef.cs   |   34 +
 .../TANG/Tang/Types/INamedParameterNode.cs      |   38 +
 lang/cs/Source/TANG/Tang/Types/INode.cs         |   37 +
 lang/cs/Source/TANG/Tang/Types/IPackageNode.cs  |   24 +
 lang/cs/Source/TANG/Tang/Types/ITraversable.cs  |   27 +
 .../TANG/Tang/Util/AbstractMonotonicMultiMap.cs |  263 ++++
 lang/cs/Source/TANG/Tang/Util/AssemblyLoader.cs |   70 ++
 lang/cs/Source/TANG/Tang/Util/GenericType.cs    |   49 +
 .../Source/TANG/Tang/Util/MonotonicHashMap.cs   |   83 ++
 .../Source/TANG/Tang/Util/MonotonicHashSet.cs   |  131 ++
 .../TANG/Tang/Util/MonotonicMultiHashMap.cs     |   30 +
 .../Source/TANG/Tang/Util/MonotonicMultiMap.cs  |   30 +
 lang/cs/Source/TANG/Tang/Util/MonotonicSet.cs   |  106 ++
 .../Source/TANG/Tang/Util/MonotonicTreeMap.cs   |   68 +
 .../TANG/Tang/Util/ReflectionUtilities.cs       |  594 +++++++++
 lang/cs/Source/TANG/Tang/Util/SetValuedKey.cs   |   62 +
 lang/cs/Source/TANG/Tang/packages.config        |   24 +
 .../ClassHierarchyBuilder.csproj                |   90 ++
 .../Tools/ClassHierarchyBuilder/Program.cs      |   97 ++
 .../Properties/AssemblyInfo.cs                  |   55 +
 .../Tools/ReefAll/Properties/AssemblyInfo.cs    |   55 +
 lang/cs/Source/Tools/ReefAll/ReefAll.csproj     |  102 ++
 lang/cs/Source/Utilities/AvroUtils.cs           |   61 +
 lang/cs/Source/Utilities/ByteUtilities.cs       |   45 +
 .../Diagnostics/DiagnosticsMessages.cs          |   42 +
 .../Source/Utilities/Diagnostics/Exceptions.cs  |  282 +++++
 lang/cs/Source/Utilities/IIdentifiable.cs       |   26 +
 lang/cs/Source/Utilities/IMessage.cs            |   33 +
 .../Utilities/Logging/JavaLoggingSetting.cs     |   39 +
 lang/cs/Source/Utilities/Logging/Level.cs       |   59 +
 lang/cs/Source/Utilities/Logging/Logger.cs      |  227 ++++
 lang/cs/Source/Utilities/NetUtilities.cs        |   51 +
 lang/cs/Source/Utilities/Optional.cs            |  116 ++
 .../Source/Utilities/Properties/AssemblyInfo.cs |   55 +
 lang/cs/Source/Utilities/Utilities.csproj       |   97 ++
 lang/cs/Source/Utilities/ValidationUtilities.cs |   42 +
 lang/cs/Source/Utilities/packages.config        |   23 +
 lang/cs/Source/WAKE/Wake/AbstractEStage.cs      |   42 +
 lang/cs/Source/WAKE/Wake/IEStage.cs             |   26 +
 lang/cs/Source/WAKE/Wake/IEventHandler.cs       |   34 +
 lang/cs/Source/WAKE/Wake/IIdentifier.cs         |   57 +
 lang/cs/Source/WAKE/Wake/IIdentifierFactory.cs  |   35 +
 lang/cs/Source/WAKE/Wake/IObserverFactory.cs    |   32 +
 lang/cs/Source/WAKE/Wake/IStage.cs              |   29 +
 .../WAKE/Wake/Impl/LoggingEventHandler.cs       |   53 +
 .../Wake/Impl/MissingStartHandlerHandler.cs     |   49 +
 .../Source/WAKE/Wake/Impl/MultiEventHandler.cs  |   65 +
 lang/cs/Source/WAKE/Wake/Impl/PeriodicEvent.cs  |   26 +
 .../Source/WAKE/Wake/Impl/PubSubEventHandler.cs |   94 ++
 .../Source/WAKE/Wake/Impl/SingleThreadStage.cs  |  100 ++
 lang/cs/Source/WAKE/Wake/Impl/SyncStage.cs      |   48 +
 .../cs/Source/WAKE/Wake/Impl/ThreadPoolStage.cs |  100 ++
 lang/cs/Source/WAKE/Wake/Impl/TimerStage.cs     |   66 +
 .../Source/WAKE/Wake/Properties/AssemblyInfo.cs |   55 +
 .../WAKE/Wake/Protobuf/RemoteProtocol.proto     |   36 +
 .../WAKE/Wake/Protobuf/WakeRemoteProtosGen.cs   |   96 ++
 lang/cs/Source/WAKE/Wake/RX/AbstractObserver.cs |   45 +
 lang/cs/Source/WAKE/Wake/RX/AbstractRxStage.cs  |   54 +
 lang/cs/Source/WAKE/Wake/RX/IRxStage.cs         |   28 +
 .../cs/Source/WAKE/Wake/RX/IStaticObservable.cs |   31 +
 lang/cs/Source/WAKE/Wake/RX/ISubject.cs         |   31 +
 .../Source/WAKE/Wake/RX/Impl/PubSubSubject.cs   |  180 +++
 lang/cs/Source/WAKE/Wake/RX/Impl/RxSyncStage.cs |   70 ++
 .../WAKE/Wake/RX/Impl/RxThreadPoolStage.cs      |  134 ++
 .../cs/Source/WAKE/Wake/RX/Impl/RxTimerStage.cs |   67 +
 .../Source/WAKE/Wake/RX/Impl/SimpleSubject.cs   |   59 +
 .../WAKE/Wake/RX/ObserverCompletedException.cs  |   46 +
 lang/cs/Source/WAKE/Wake/Remote/ICodec.cs       |   34 +
 .../cs/Source/WAKE/Wake/Remote/ICodecFactory.cs |   35 +
 lang/cs/Source/WAKE/Wake/Remote/IDecoder.cs     |   38 +
 lang/cs/Source/WAKE/Wake/Remote/IEncoder.cs     |   38 +
 lang/cs/Source/WAKE/Wake/Remote/ILink.cs        |   73 ++
 lang/cs/Source/WAKE/Wake/Remote/IRemoteEvent.cs |   42 +
 .../WAKE/Wake/Remote/IRemoteIdentifier.cs       |   28 +
 .../Wake/Remote/IRemoteIdentifierFactory.cs     |   26 +
 .../Source/WAKE/Wake/Remote/IRemoteManager.cs   |   42 +
 .../Source/WAKE/Wake/Remote/IRemoteMessage.cs   |   39 +
 .../WAKE/Wake/Remote/ISubscriptionManager.cs    |   26 +
 .../Source/WAKE/Wake/Remote/Impl/ByteCodec.cs   |   41 +
 .../WAKE/Wake/Remote/Impl/ByteCodecFactory.cs   |   41 +
 lang/cs/Source/WAKE/Wake/Remote/Impl/Channel.cs |  258 ++++
 .../Wake/Remote/Impl/DefaultRemoteManager.cs    |  338 +++++
 .../Wake/Remote/Impl/DefaultRemoteMessage.cs    |   34 +
 .../WAKE/Wake/Remote/Impl/IPEndpointComparer.cs |   59 +
 .../cs/Source/WAKE/Wake/Remote/Impl/IntCodec.cs |   42 +
 lang/cs/Source/WAKE/Wake/Remote/Impl/Link.cs    |  256 ++++
 .../Source/WAKE/Wake/Remote/Impl/MultiCodec.cs  |   89 ++
 .../WAKE/Wake/Remote/Impl/MultiDecoder.cs       |  110 ++
 .../WAKE/Wake/Remote/Impl/MultiEncoder.cs       |   87 ++
 .../WAKE/Wake/Remote/Impl/ObserverContainer.cs  |  132 ++
 .../Source/WAKE/Wake/Remote/Impl/RemoteEvent.cs |   59 +
 .../WAKE/Wake/Remote/Impl/RemoteEventCodec.cs   |   43 +
 .../WAKE/Wake/Remote/Impl/RemoteEventDecoder.cs |   39 +
 .../WAKE/Wake/Remote/Impl/RemoteEventEncoder.cs |   43 +
 .../Wake/Remote/Impl/RemoteEventEndpoint.cs     |   42 +
 .../Wake/Remote/Impl/SocketRemoteIdentifier.cs  |   76 ++
 .../Source/WAKE/Wake/Remote/Impl/StringCodec.cs |   46 +
 .../WAKE/Wake/Remote/Impl/StringIdentifier.cs   |   53 +
 .../Wake/Remote/Impl/StringIdentifierFactory.cs |   41 +
 .../WAKE/Wake/Remote/Impl/TransportClient.cs    |  133 ++
 .../WAKE/Wake/Remote/Impl/TransportEvent.cs     |   42 +
 .../WAKE/Wake/Remote/Impl/TransportServer.cs    |  195 +++
 .../WAKE/Wake/Remote/Proto/WakeRemoteProtos.cs  |   76 ++
 .../WAKE/Wake/Remote/RemoteConfiguration.cs     |   57 +
 .../WAKE/Wake/Remote/RemoteRuntimeException.cs  |   54 +
 lang/cs/Source/WAKE/Wake/Time/Event/Alarm.cs    |   41 +
 .../cs/Source/WAKE/Wake/Time/Event/StartTime.cs |   31 +
 lang/cs/Source/WAKE/Wake/Time/Event/StopTime.cs |   31 +
 lang/cs/Source/WAKE/Wake/Time/IClock.cs         |   89 ++
 .../WAKE/Wake/Time/Runtime/Event/ClientAlarm.cs |   34 +
 .../WAKE/Wake/Time/Runtime/Event/IdleClock.cs   |   28 +
 .../Wake/Time/Runtime/Event/RuntimeAlarm.cs     |   34 +
 .../Wake/Time/Runtime/Event/RuntimeStart.cs     |   28 +
 .../WAKE/Wake/Time/Runtime/Event/RuntimeStop.cs |   37 +
 lang/cs/Source/WAKE/Wake/Time/Runtime/ITimer.cs |   49 +
 .../WAKE/Wake/Time/Runtime/LogicalTimer.cs      |   55 +
 .../Source/WAKE/Wake/Time/Runtime/RealTimer.cs  |   64 +
 .../WAKE/Wake/Time/Runtime/RuntimeClock.cs      |  257 ++++
 lang/cs/Source/WAKE/Wake/Time/Time.cs           |   82 ++
 lang/cs/Source/WAKE/Wake/Util/Actionable.cs     |   42 +
 lang/cs/Source/WAKE/Wake/Util/Disposable.cs     |   63 +
 .../Wake/Util/FixedThreadPoolTaskService.cs     |  105 ++
 lang/cs/Source/WAKE/Wake/Util/IStartable.cs     |   32 +
 lang/cs/Source/WAKE/Wake/Util/ITaskService.cs   |   34 +
 .../LimitedConcurrencyLevelTaskScheduler.cs     |  187 +++
 lang/cs/Source/WAKE/Wake/Util/NetworkUtils.cs   |   66 +
 .../WAKE/Wake/Util/SerializationHelper.cs       |   46 +
 lang/cs/Source/WAKE/Wake/Util/TaskExtensions.cs |   34 +
 lang/cs/Source/WAKE/Wake/Util/TimeHelper.cs     |   49 +
 lang/cs/Source/WAKE/Wake/Wake.csproj            |  214 ++++
 .../cs/Source/WAKE/Wake/WakeRuntimeException.cs |   54 +
 lang/cs/Source/WAKE/Wake/packages.config        |   24 +
 .../src/main/cs/Examples/P2p/IEventSource.cs    |   35 +
 .../Wake/src/main/cs/Examples/P2p/Pull2Push.cs  |  103 ++
 .../WAKE/Wake/src/main/cs/PeriodicEvent.cs      |   23 +
 lang/cs/Source/WAKE/Wake/testkey.snk            |  Bin 0 -> 596 bytes
 .../Tests/ReefTests/ConfigFiles/evaluator.conf  |  Bin 0 -> 2837 bytes
 .../EvaluatorConfigurationsTests.cs             |   42 +
 .../ReefTests/Evaluator.Tests/EvaluatorTests.cs |   94 ++
 .../Functional.Tests/Bridge/TestBridgeClient.cs |   99 ++
 .../Bridge/TestHelloBridgeHandlers.cs           |  101 ++
 .../Bridge/TestSimpleEventHandlers.cs           |  110 ++
 .../Driver/DriverTestStartHandler.cs            |   46 +
 .../Functional.Tests/Driver/TestDriver.cs       |   68 +
 .../Functional.Tests/Messaging/MessageDriver.cs |  122 ++
 .../Functional.Tests/Messaging/MessageTask.cs   |  106 ++
 .../Messaging/TestTaskMessage.cs                |   75 ++
 .../Functional.Tests/ReefFunctionalTest.cs      |  200 +++
 .../BlockingCollectionExtensionTests.cs         |   78 ++
 .../Tests/ReefTests/IO.Tests/NameServerTests.cs |  274 +++++
 .../ReefTests/IO.Tests/NetworkServiceTests.cs   |  202 +++
 .../Tests/ReefTests/Properties/AssemblyInfo.cs  |   55 +
 lang/cs/Tests/ReefTests/ReefTests.csproj        |  192 +++
 .../Utility.Test/TestDriverConfigGenerator.cs   |  101 ++
 .../ReefTests/Utility.Test/TestExceptions.cs    |   49 +
 ...bridge-0.11.0-incubating-SNAPSHOT-shaded.jar |  Bin 0 -> 13555831 bytes
 lang/cs/Tests/ReefTests/bin/run.cmd             |   45 +
 lang/cs/Tests/ReefTests/packages.config         |   32 +
 .../ClassHierarchy/TestAnonymousType.cs         |   63 +
 .../ClassHierarchy/TestClassHierarchy.cs        |  717 +++++++++++
 .../TestClassHierarchyRoundTrip.cs              |   69 ++
 .../TangTests/ClassHierarchy/TestGeneric.cs     |   46 +
 .../ClassHierarchy/TestMultipleInterface.cs     |  103 ++
 .../ClassHierarchy/TestParameterParser.cs       |  323 +++++
 .../ClassHierarchy/TestSerilization.cs          |  234 ++++
 .../Configuration/TestAvroConfiguration.cs      |   68 +
 .../TestAvroSerializerRoundTrip.cs              |   71 ++
 .../Configuration/TestConfiguration.cs          |  566 +++++++++
 .../TestCsConfigurationBuilderExtension.cs      |  178 +++
 .../TangTests/Format/TestConfigurationModule.cs |  522 ++++++++
 .../Format/TestConfigurationModuleForList.cs    |  145 +++
 .../TangTests/Format/TestTaskConfiguration.cs   |  389 ++++++
 .../Injection/TestAmbigousConstructors.cs       |   80 ++
 .../TangTests/Injection/TestForkInjection.cs    |   79 ++
 .../Tests/TangTests/Injection/TestInjection.cs  |  386 ++++++
 .../TangTests/Injection/TestInjectionFuture.cs  |  240 ++++
 .../TangTests/Injection/TestListInjection.cs    |  565 +++++++++
 .../Injection/TestMissingParameters.cs          |  151 +++
 .../Injection/TestMissingParamtersInNested.cs   |  142 +++
 .../Injection/TestMultipleConstructors.cs       |  360 ++++++
 .../TangTests/Injection/TestNamedParameter.cs   |  357 ++++++
 .../TangTests/Injection/TestSetInjection.cs     |  739 +++++++++++
 .../Tests/TangTests/Properties/AssemblyInfo.cs  |   55 +
 .../ScenarioTest/HttpHandlerConfiguration.cs    |   35 +
 .../ScenarioTest/HttpRuntimeConfiguration.cs    |   36 +
 .../ScenarioTest/HttpRuntimeStartHandler.cs     |   50 +
 .../ScenarioTest/HttpRuntimeStopHandler.cs      |   50 +
 .../Tests/TangTests/ScenarioTest/HttpServer.cs  |   49 +
 .../TangTests/ScenarioTest/IHttpHandler.cs      |   27 +
 .../TangTests/ScenarioTest/JettyHandler.cs      |   44 +
 .../ScenarioTest/TestDefaultConstructor.cs      |   79 ++
 .../TangTests/ScenarioTest/TestHttpService.cs   |  194 +++
 .../TangTests/ScenarioTest/TestRuntimeClock.cs  |  253 ++++
 .../ScenarioTest/TestTrackingURIProvider.cs     |   59 +
 .../ScenarioTest/TrackingURIProvider.cs         |   63 +
 .../ScenarioTest/TrackingYRIProvider.cs         |   25 +
 .../cs/Tests/TangTests/SmokeTest/AnInterface.cs |   29 +
 .../SmokeTest/AnInterfaceImplementation.cs      |   65 +
 .../TangTests/SmokeTest/CyclicDependency.cs     |   70 ++
 .../SmokeTest/CyclicDependencyClassOne.cs       |   61 +
 .../SmokeTest/CyclicDependencyClassTwo.cs       |   55 +
 lang/cs/Tests/TangTests/SmokeTest/Handler.cs    |   26 +
 .../TangTests/SmokeTest/InjectableClass.cs      |   60 +
 .../TangTests/SmokeTest/ListOfBaseTypes.cs      |  108 ++
 .../Tests/TangTests/SmokeTest/ObjectTreeTest.cs |   54 +
 .../TangTests/SmokeTest/RootImplementation.cs   |  178 +++
 .../Tests/TangTests/SmokeTest/RootInterface.cs  |   26 +
 .../Tests/TangTests/SmokeTest/RoundTripTest.cs  |   40 +
 .../Tests/TangTests/SmokeTest/SetInterface.cs   |   31 +
 .../TangTests/SmokeTest/SetInterfaceImplOne.cs  |   82 ++
 .../TangTests/SmokeTest/SetInterfaceImplTwo.cs  |   82 ++
 .../Tests/TangTests/SmokeTest/SetOfBaseTypes.cs |  105 ++
 .../TangTests/SmokeTest/SetOfImplementations.cs |   72 ++
 .../SmokeTest/TestConfigurationModuleBuilder.cs |  107 ++
 .../TangTests/Tang/TestDefaultImpementaion.cs   |  196 +++
 .../TangTests/Tang/TestExternalConstructors.cs  |  148 +++
 .../TangTests/Tang/TestLegacyConstructors.cs    |   73 ++
 lang/cs/Tests/TangTests/Tang/TestTang.cs        | 1158 ++++++++++++++++++
 lang/cs/Tests/TangTests/TangTests.csproj        |  180 +++
 .../Tests/TangTests/Utilities/TestUtilities.cs  |  294 +++++
 lang/cs/Tests/TangTests/Utilities/Utilities.cs  |   62 +
 lang/cs/Tests/TangTests/evaluator.conf          |  Bin 0 -> 2837 bytes
 lang/cs/Tests/TangTests/packages.config         |   24 +
 .../TangTests/simpleConstructorJavaProto.bin    |  Bin 0 -> 1994 bytes
 lang/cs/Tests/WakeTests/ClockTest.cs            |  183 +++
 lang/cs/Tests/WakeTests/MultiCodecTest.cs       |  102 ++
 .../Tests/WakeTests/Properties/AssemblyInfo.cs  |   55 +
 lang/cs/Tests/WakeTests/PubSubSubjectTest.cs    |  209 ++++
 lang/cs/Tests/WakeTests/RemoteManagerTest.cs    |  344 ++++++
 lang/cs/Tests/WakeTests/TransportTest.cs        |  205 ++++
 lang/cs/Tests/WakeTests/WakeTests.csproj        |  103 ++
 lang/cs/Tests/WakeTests/packages.config         |   23 +
 .../externals/Org.Apache.Reef.Driver.dll        |  Bin 121344 -> 121344 bytes
 pom.xml                                         |   19 +-
 621 files changed, 59262 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/2ae282de/lang/cs/.gitignore
----------------------------------------------------------------------
diff --git a/lang/cs/.gitignore b/lang/cs/.gitignore
new file mode 100644
index 0000000..aeaff29
--- /dev/null
+++ b/lang/cs/.gitignore
@@ -0,0 +1,10 @@
+bin
+!Tests/ReefTests/bin/
+packages
+TestResults
+**/*.exe
+**/*.suo
+**/*.csproj.user
+**/obj
+
+

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/2ae282de/lang/cs/.nuget/NuGet.Config
----------------------------------------------------------------------
diff --git a/lang/cs/.nuget/NuGet.Config b/lang/cs/.nuget/NuGet.Config
new file mode 100644
index 0000000..0ebb37e
--- /dev/null
+++ b/lang/cs/.nuget/NuGet.Config
@@ -0,0 +1,24 @@
+<?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.
+-->
+<configuration>
+  <solution>
+    <add key="disableSourceControlIntegration" value="true" />
+  </solution>
+</configuration>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/2ae282de/lang/cs/.nuget/NuGet.targets
----------------------------------------------------------------------
diff --git a/lang/cs/.nuget/NuGet.targets b/lang/cs/.nuget/NuGet.targets
new file mode 100644
index 0000000..401dcdd
--- /dev/null
+++ b/lang/cs/.nuget/NuGet.targets
@@ -0,0 +1,162 @@
+<?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="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <PropertyGroup>
+        <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(MSBuildProjectDirectory)\..\</SolutionDir>
+
+        <!-- Enable the restore command to run before builds -->
+        <RestorePackages Condition="  '$(RestorePackages)' == '' ">false</RestorePackages>
+
+        <!-- Property that enables building a package from a project -->
+        <BuildPackage Condition=" '$(BuildPackage)' == '' ">false</BuildPackage>
+
+        <!-- Determines if package restore consent is required to restore packages -->
+        <RequireRestoreConsent Condition=" '$(RequireRestoreConsent)' != 'false' ">true</RequireRestoreConsent>
+
+        <!-- Download NuGet.exe if it does not already exist -->
+        <DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">true</DownloadNuGetExe>
+    </PropertyGroup>
+
+    <ItemGroup Condition=" '$(PackageSources)' == '' ">
+        <!-- Package sources used to restore packages. By default, registered sources under %APPDATA%\NuGet\NuGet.Config will be used -->
+        <!-- The official NuGet package source (https://www.nuget.org/api/v2/) will be excluded if package sources are specified and it does not appear in the list -->
+        <!--
+            <PackageSource Include="https://www.nuget.org/api/v2/" />
+            <PackageSource Include="https://my-nuget-source/nuget/" />
+        -->
+    </ItemGroup>
+
+    <PropertyGroup Condition=" '$(OS)' == 'Windows_NT'">
+        <!-- Windows specific commands -->
+        <NuGetToolsPath>$([System.IO.Path]::Combine($(SolutionDir), ".nuget"))</NuGetToolsPath>
+    </PropertyGroup>
+
+    <PropertyGroup Condition=" '$(OS)' != 'Windows_NT'">
+        <!-- We need to launch nuget.exe with the mono command if we're not on windows -->
+        <NuGetToolsPath>$(SolutionDir).nuget</NuGetToolsPath>
+    </PropertyGroup>
+
+    <PropertyGroup>
+        <PackagesProjectConfig Condition=" '$(OS)' == 'Windows_NT'">$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName.Replace(' ', '_')).config</PackagesProjectConfig>
+        <PackagesProjectConfig Condition=" '$(OS)' != 'Windows_NT'">$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config</PackagesProjectConfig>
+    </PropertyGroup>
+
+    <PropertyGroup>
+      <PackagesConfig Condition="Exists('$(MSBuildProjectDirectory)\packages.config')">$(MSBuildProjectDirectory)\packages.config</PackagesConfig>
+      <PackagesConfig Condition="Exists('$(PackagesProjectConfig)')">$(PackagesProjectConfig)</PackagesConfig>
+    </PropertyGroup>
+    
+    <PropertyGroup>
+        <!-- NuGet command -->
+        <NuGetExePath Condition=" '$(NuGetExePath)' == '' ">$(NuGetToolsPath)\NuGet.exe</NuGetExePath>
+        <PackageSources Condition=" $(PackageSources) == '' ">@(PackageSource)</PackageSources>
+
+        <NuGetCommand Condition=" '$(OS)' == 'Windows_NT'">"$(NuGetExePath)"</NuGetCommand>
+        <NuGetCommand Condition=" '$(OS)' != 'Windows_NT' ">mono --runtime=v4.0.30319 "$(NuGetExePath)"</NuGetCommand>
+
+        <PackageOutputDir Condition="$(PackageOutputDir) == ''">$(TargetDir.Trim('\\'))</PackageOutputDir>
+
+        <RequireConsentSwitch Condition=" $(RequireRestoreConsent) == 'true' ">-RequireConsent</RequireConsentSwitch>
+        <NonInteractiveSwitch Condition=" '$(VisualStudioVersion)' != '' AND '$(OS)' == 'Windows_NT' ">-NonInteractive</NonInteractiveSwitch>
+
+        <PaddedSolutionDir Condition=" '$(OS)' == 'Windows_NT'">"$(SolutionDir) "</PaddedSolutionDir>
+        <PaddedSolutionDir Condition=" '$(OS)' != 'Windows_NT' ">"$(SolutionDir)"</PaddedSolutionDir>
+
+        <!-- Commands -->
+        <RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)"  $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir)</RestoreCommand>
+        <BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols</BuildCommand>
+
+        <!-- We need to ensure packages are restored prior to assembly resolve -->
+        <BuildDependsOn Condition="$(RestorePackages) == 'true'">
+            RestorePackages;
+            $(BuildDependsOn);
+        </BuildDependsOn>
+
+        <!-- Make the build depend on restore packages -->
+        <BuildDependsOn Condition="$(BuildPackage) == 'true'">
+            $(BuildDependsOn);
+            BuildPackage;
+        </BuildDependsOn>
+    </PropertyGroup>
+
+    <Target Name="CheckPrerequisites">
+        <!-- Raise an error if we're unable to locate nuget.exe  -->
+        <Error Condition="'$(DownloadNuGetExe)' != 'true' AND !Exists('$(NuGetExePath)')" Text="Unable to locate '$(NuGetExePath)'" />
+        <!--
+        Take advantage of MsBuild's build dependency tracking to make sure that we only ever download nuget.exe once.
+        This effectively acts as a lock that makes sure that the download operation will only happen once and all
+        parallel builds will have to wait for it to complete.
+        -->
+        <MsBuild Targets="_DownloadNuGet" Projects="$(MSBuildThisFileFullPath)" Properties="Configuration=NOT_IMPORTANT;DownloadNuGetExe=$(DownloadNuGetExe)" />
+    </Target>
+
+    <Target Name="_DownloadNuGet">
+        <DownloadNuGet OutputFilename="$(NuGetExePath)" Condition=" '$(DownloadNuGetExe)' == 'true' AND !Exists('$(NuGetExePath)')" />
+    </Target>
+
+    <Target Name="RestorePackages" DependsOnTargets="CheckPrerequisites">        
+        <Exec Command="$(RestoreCommand)"
+              Condition="'$(OS)' != 'Windows_NT' And Exists('$(PackagesConfig)')" />
+
+        <Exec Command="$(RestoreCommand)"
+              LogStandardErrorAsError="true"
+              Condition="'$(OS)' == 'Windows_NT' And Exists('$(PackagesConfig)')" />
+    </Target>
+
+    <Target Name="BuildPackage" DependsOnTargets="CheckPrerequisites">
+        <Exec Command="$(BuildCommand)"
+              Condition=" '$(OS)' != 'Windows_NT' " />
+
+        <Exec Command="$(BuildCommand)"
+              LogStandardErrorAsError="true"
+              Condition=" '$(OS)' == 'Windows_NT' " />
+    </Target>
+
+    <UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
+        <ParameterGroup>
+            <OutputFilename ParameterType="System.String" Required="true" />
+        </ParameterGroup>
+        <Task>
+            <Reference Include="System.Core" />
+            <Using Namespace="System" />
+            <Using Namespace="System.IO" />
+            <Using Namespace="System.Net" />
+            <Using Namespace="Microsoft.Build.Framework" />
+            <Using Namespace="Microsoft.Build.Utilities" />
+            <Code Type="Fragment" Language="cs">
+                <![CDATA[
+                try {
+                    OutputFilename = Path.GetFullPath(OutputFilename);
+
+                    Log.LogMessage("Downloading latest version of NuGet.exe...");
+                    WebClient webClient = new WebClient();
+                    webClient.DownloadFile("https://www.nuget.org/nuget.exe", OutputFilename);
+
+                    return true;
+                }
+                catch (Exception ex) {
+                    Log.LogErrorFromException(ex);
+                    return false;
+                }
+            ]]>
+            </Code>
+        </Task>
+    </UsingTask>
+</Project>

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/2ae282de/lang/cs/ReefDotNet.sln
----------------------------------------------------------------------
diff --git a/lang/cs/ReefDotNet.sln b/lang/cs/ReefDotNet.sln
new file mode 100644
index 0000000..bbd2250
--- /dev/null
+++ b/lang/cs/ReefDotNet.sln
@@ -0,0 +1,161 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.21005.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{2B7EE9D5-CA54-4204-B89D-B48A7FC6E3CD}"
+	ProjectSection(SolutionItems) = preProject
+		.nuget\NuGet.Config = .nuget\NuGet.Config
+		.nuget\NuGet.exe = .nuget\NuGet.exe
+		.nuget\NuGet.targets = .nuget\NuGet.targets
+	EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Utilities", "Source\Utilities\Utilities.csproj", "{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wake", "Source\WAKE\Wake\Wake.csproj", "{CDFB3464-4041-42B1-9271-83AF24CD5008}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tang", "Source\TANG\Tang\Tang.csproj", "{97DBB573-3994-417A-9F69-FFA25F00D2A6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Examples", "Source\TANG\Examples\Examples.csproj", "{31B4389E-925A-4181-A1F6-21A1A0AD8A1C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReefCommon", "Source\REEF\reef-common\ReefCommon\ReefCommon.csproj", "{545A0582-4105-44CE-B99C-B1379514A630}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReefDriver", "Source\REEF\reef-common\ReefDriver\ReefDriver.csproj", "{A6BAA2A7-F52F-4329-884E-1BCF711D6805}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Network", "Source\REEF\reef-io\Network\Network.csproj", "{883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "Source\REEF\reef-tasks\Tasks\Tasks.csproj", "{75503F90-7B82-4762-9997-94B5C68F15DB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CLRBridgeClient", "Source\REEF\reef-applications\CLRBridgeClient\CLRBridgeClient.csproj", "{5094C35B-4FDB-4322-AC05-45D684501CBF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Evaluator", "Source\REEF\reef-applications\Evaluator\Evaluator.csproj", "{1B983182-9C30-464C-948D-F87EB93A8240}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloCLRBridge", "Source\REEF\reef-examples\HelloCLRBridge\HelloCLRBridge.csproj", "{A78DD8E8-31D0-4506-8738-DAA9DA86D55B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RetainedEvalCLRBridge", "Source\REEF\reef-examples\RetainedEvalCLRBridge\RetainedEvalCLRBridge.csproj", "{A33C20FB-A76E-494C-80C5-BCE4BAD876D3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassHierarchyBuilder", "Source\Tools\ClassHierarchyBuilder\ClassHierarchyBuilder.csproj", "{34A9CD98-0D15-4CA0-AEA5-E53593A31047}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReefAll", "Source\Tools\ReefAll\ReefAll.csproj", "{4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TangTests", "Tests\TangTests\TangTests.csproj", "{D5EB94D0-3ABA-4853-9050-E36B196E17D2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WakeTests", "Tests\WakeTests\WakeTests.csproj", "{214C64C6-04E5-4867-B69A-E3502EA50871}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReefTests", "Tests\ReefTests\ReefTests.csproj", "{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Debug|x64 = Debug|x64
+		Release|Any CPU = Release|Any CPU
+		Release|x64 = Release|x64
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Release|Any CPU.Build.0 = Release|Any CPU
+		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Release|x64.ActiveCfg = Release|Any CPU
+		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Release|Any CPU.Build.0 = Release|Any CPU
+		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Release|x64.ActiveCfg = Release|Any CPU
+		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Release|Any CPU.Build.0 = Release|Any CPU
+		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Release|x64.ActiveCfg = Release|Any CPU
+		{31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Release|x64.ActiveCfg = Release|Any CPU
+		{545A0582-4105-44CE-B99C-B1379514A630}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{545A0582-4105-44CE-B99C-B1379514A630}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{545A0582-4105-44CE-B99C-B1379514A630}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{545A0582-4105-44CE-B99C-B1379514A630}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{545A0582-4105-44CE-B99C-B1379514A630}.Release|Any CPU.Build.0 = Release|Any CPU
+		{545A0582-4105-44CE-B99C-B1379514A630}.Release|x64.ActiveCfg = Release|Any CPU
+		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Release|x64.ActiveCfg = Release|Any CPU
+		{883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}.Release|Any CPU.Build.0 = Release|Any CPU
+		{883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}.Release|x64.ActiveCfg = Release|Any CPU
+		{75503F90-7B82-4762-9997-94B5C68F15DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{75503F90-7B82-4762-9997-94B5C68F15DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{75503F90-7B82-4762-9997-94B5C68F15DB}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{75503F90-7B82-4762-9997-94B5C68F15DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{75503F90-7B82-4762-9997-94B5C68F15DB}.Release|Any CPU.Build.0 = Release|Any CPU
+		{75503F90-7B82-4762-9997-94B5C68F15DB}.Release|x64.ActiveCfg = Release|Any CPU
+		{5094C35B-4FDB-4322-AC05-45D684501CBF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{5094C35B-4FDB-4322-AC05-45D684501CBF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{5094C35B-4FDB-4322-AC05-45D684501CBF}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{5094C35B-4FDB-4322-AC05-45D684501CBF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{5094C35B-4FDB-4322-AC05-45D684501CBF}.Release|Any CPU.Build.0 = Release|Any CPU
+		{5094C35B-4FDB-4322-AC05-45D684501CBF}.Release|x64.ActiveCfg = Release|Any CPU
+		{1B983182-9C30-464C-948D-F87EB93A8240}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{1B983182-9C30-464C-948D-F87EB93A8240}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{1B983182-9C30-464C-948D-F87EB93A8240}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{1B983182-9C30-464C-948D-F87EB93A8240}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{1B983182-9C30-464C-948D-F87EB93A8240}.Release|Any CPU.Build.0 = Release|Any CPU
+		{1B983182-9C30-464C-948D-F87EB93A8240}.Release|x64.ActiveCfg = Release|Any CPU
+		{A78DD8E8-31D0-4506-8738-DAA9DA86D55B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A78DD8E8-31D0-4506-8738-DAA9DA86D55B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A78DD8E8-31D0-4506-8738-DAA9DA86D55B}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{A78DD8E8-31D0-4506-8738-DAA9DA86D55B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A78DD8E8-31D0-4506-8738-DAA9DA86D55B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A78DD8E8-31D0-4506-8738-DAA9DA86D55B}.Release|x64.ActiveCfg = Release|Any CPU
+		{A33C20FB-A76E-494C-80C5-BCE4BAD876D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A33C20FB-A76E-494C-80C5-BCE4BAD876D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A33C20FB-A76E-494C-80C5-BCE4BAD876D3}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{A33C20FB-A76E-494C-80C5-BCE4BAD876D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A33C20FB-A76E-494C-80C5-BCE4BAD876D3}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A33C20FB-A76E-494C-80C5-BCE4BAD876D3}.Release|x64.ActiveCfg = Release|Any CPU
+		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Release|Any CPU.Build.0 = Release|Any CPU
+		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Release|x64.ActiveCfg = Release|Any CPU
+		{4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Release|Any CPU.Build.0 = Release|Any CPU
+		{4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Release|x64.ActiveCfg = Release|Any CPU
+		{D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Release|x64.ActiveCfg = Release|Any CPU
+		{214C64C6-04E5-4867-B69A-E3502EA50871}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{214C64C6-04E5-4867-B69A-E3502EA50871}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{214C64C6-04E5-4867-B69A-E3502EA50871}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{214C64C6-04E5-4867-B69A-E3502EA50871}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{214C64C6-04E5-4867-B69A-E3502EA50871}.Release|Any CPU.Build.0 = Release|Any CPU
+		{214C64C6-04E5-4867-B69A-E3502EA50871}.Release|x64.ActiveCfg = Release|Any CPU
+		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Release|Any CPU.Build.0 = Release|Any CPU
+		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Release|x64.ActiveCfg = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/2ae282de/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.cs b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.cs
new file mode 100644
index 0000000..51023e7
--- /dev/null
+++ b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.cs
@@ -0,0 +1,148 @@
+/**
+ * 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.Evaluator;
+using Org.Apache.Reef.Driver;
+using Org.Apache.Reef.Driver.bridge;
+using Org.Apache.Reef.Driver.Bridge;
+using Org.Apache.Reef.Driver.Defaults;
+using Org.Apache.Reef.Examples.HelloCLRBridge;
+using Org.Apache.Reef.Examples.HelloCLRBridge.Handlers;
+using Org.Apache.Reef.IO.Network.Naming;
+using Org.Apache.Reef.Tasks;
+using Org.Apache.Reef.Utilities.Logging;
+using Org.Apache.Reef.Tang.Interface;
+using Org.Apache.Reef.Tang.Util;
+using System;
+using System.Collections.Generic;
+using System.IO;
+
+namespace Org.Apache.Reef.CLRBridgeClient
+{
+    public class CLRBridgeClient
+    {
+        public const string ReefHome = "REEF_HOME";
+        public const string DefaultClrFolder = @"lang\java\reef-bridge-project\reef-bridge\dotnetHello";
+        public const string DefaultReefJar = @"lang\java\reef-bridge-project\reef-bridge\target\" + Constants.BridgeJarFileName;
+        public const string DefaultRunCommand = "run.cmd";
+
+        private static string _clrFolder = null;
+        private static string _reefJar = null;
+        private static string _className = Constants.BridgeLaunchClass;
+        private static string _runCommand = DefaultRunCommand;
+        private static string _submitControlForAllocatedEvaluator = "submitContextAndTask"; // submitContext, submitContextAndTask, submitContextAndServiceAndTask
+
+        public static HashSet<string> AppDll
+        {
+            get
+            {
+                HashSet<string> appDlls = new HashSet<string>();
+                appDlls.Add(typeof(HelloStartHandler).Assembly.GetName().Name);
+                appDlls.Add(typeof(HelloTask).Assembly.GetName().Name);
+                appDlls.Add(typeof(INameServer).Assembly.GetName().Name);
+                return appDlls;
+            }
+        }
+
+        public static IConfiguration ClrConfigurations
+        {
+            get
+            {
+                return DriverBridgeConfiguration.ConfigurationModule
+                .Set(DriverBridgeConfiguration.OnDriverStarted, GenericType<HelloStartHandler>.Class)
+                .Set(DriverBridgeConfiguration.OnEvaluatorAllocated, GenericType<HelloAllocatedEvaluatorHandler>.Class)
+                .Set(DriverBridgeConfiguration.OnEvaluatorAllocated, GenericType<AnotherHelloAllocatedEvaluatorHandler>.Class)
+                .Set(DriverBridgeConfiguration.OnContextActive, GenericType<HelloActiveContextHandler>.Class)
+                .Set(DriverBridgeConfiguration.OnTaskMessage, GenericType<HelloTaskMessageHandler>.Class)
+                .Set(DriverBridgeConfiguration.OnEvaluatorFailed, GenericType<HelloFailedEvaluatorHandler>.Class)
+                .Set(DriverBridgeConfiguration.OnTaskFailed, GenericType<HelloFailedTaskHandler>.Class)
+                .Set(DriverBridgeConfiguration.OnTaskRunning, GenericType<HelloRunningTaskHandler>.Class)
+                .Set(DriverBridgeConfiguration.OnEvaluatorRequested, GenericType<HelloEvaluatorRequestorHandler>.Class)
+                .Set(DriverBridgeConfiguration.OnHttpEvent, GenericType<HelloHttpHandler>.Class)
+                .Set(DriverBridgeConfiguration.OnEvaluatorCompleted, GenericType<HelloCompletedEvaluatorHandler>.Class)
+                .Set(DriverBridgeConfiguration.CustomTraceListeners, GenericType<DefaultCustomTraceListener>.Class)
+                .Set(DriverBridgeConfiguration.CustomTraceLevel, Level.Info.ToString())
+                .Set(DriverBridgeConfiguration.CommandLineArguments, _submitControlForAllocatedEvaluator) // this is for testing purpose only
+                .Set(DriverBridgeConfiguration.OnDriverRestarted, GenericType<HelloRestartHandler>.Class)
+                .Set(DriverBridgeConfiguration.OnDriverReconnect, GenericType<DefaultLocalHttpDriverConnection>.Class)
+                .Set(DriverBridgeConfiguration.OnDirverRestartContextActive, GenericType<HelloDriverRestartActiveContextHandler>.Class)
+                .Set(DriverBridgeConfiguration.OnDriverRestartTaskRunning, GenericType<HelloDriverRestartRunningTaskHandler>.Class)
+                .Build();
+            }
+        }
+
+        public static void Main(string[] args)
+        {
+            Console.WriteLine("start running client: " + DateTime.Now);
+            bool runOnYarn = false;
+            if (args != null)
+            {
+                if (args.Length > 0)
+                {
+                    runOnYarn = bool.Parse(args[0]);
+                }
+
+                if (args.Length > 1)
+                {
+                    _className = args[1];
+                }
+                if (args.Length > 2)
+                {
+                    _clrFolder = args[2];
+                }
+                if (args.Length > 3)
+                {
+                    _reefJar = args[3];
+                }
+                if (args.Length > 4)
+                {
+                    _runCommand = args[4];
+                }
+            }
+
+            if (string.IsNullOrWhiteSpace(_reefJar))
+            {
+                _reefJar = Path.Combine(Environment.GetEnvironmentVariable(ReefHome), DefaultReefJar);
+            }
+
+            if (string.IsNullOrWhiteSpace(_clrFolder))
+            {
+                _clrFolder = Path.Combine(Environment.GetEnvironmentVariable(ReefHome), DefaultClrFolder);
+            }
+
+            // Configurable driver submission settings:
+            // DriverMemory, default to 512
+            // DriverIdentifer, default to "ReefClrBridge" 
+            // Submit, default to True. Setting it to false and Java client will construct the driver.config and write to to FS without submitting the job
+            // ClientWaitTime, default to -1 which means client will wait till Driver is done
+            // SubmissionDirectory, default to a tmp folder on (H)DFS according to the YARN assigned application id, if user sets it, it must be guaranteed to be unique across multiple jobs
+            // RunOnYarn, default to false to run on local runtime.
+            // UpdateJarBeforeSubmission, default to true. Setting it to false can reduce startup time, but only if the jar file already contains all application dlls.
+            // JavaLogLevel, default to INFO. 
+            DriverSubmissionSettings driverSubmissionSettings = new DriverSubmissionSettings()
+                                                                    {
+                                                                        RunOnYarn = runOnYarn,
+                                                                        SubmissionDirectory = "reefClrBridgeTmp/job_" + Guid.NewGuid().ToString("N").Substring(0, 8)
+                                                                    };
+
+            Console.WriteLine("start calling Run: " + DateTime.Now);
+            ClrClientHelper.Run(AppDll, ClrConfigurations, driverSubmissionSettings, _reefJar, _runCommand, _clrFolder, _className);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/2ae282de/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.csproj
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.csproj b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.csproj
new file mode 100644
index 0000000..0f333d3
--- /dev/null
+++ b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.csproj
@@ -0,0 +1,114 @@
+<?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>{5094C35B-4FDB-4322-AC05-45D684501CBF}</ProjectGuid>
+    <OutputType>Exe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>Org.Apache.Reef.CLRBridgeClient</RootNamespace>
+    <AssemblyName>Org.Apache.Reef.CLRBridgeClient</AssemblyName>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin\Debug\Org.Apache.Reef.CLRBridgeClient\</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>..\..\..\..\bin\Release\Microsoft.Reef.CLRBridgeClient\</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="CLRBridgeClient.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="run.cmd" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\..\Tang\Tang\Tang.csproj">
+      <Project>{97dbb573-3994-417a-9f69-ffa25f00d2a6}</Project>
+      <Name>Tang</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Utilities\Utilities.csproj">
+      <Project>{79e7f89a-1dfb-45e1-8d43-d71a954aeb98}</Project>
+      <Name>Utilities</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\WAKE\Wake\Wake.csproj">
+      <Project>{cdfb3464-4041-42b1-9271-83af24cd5008}</Project>
+      <Name>Wake</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\reef-common\ReefCommon\ReefCommon.csproj">
+      <Project>{545a0582-4105-44ce-b99c-b1379514a630}</Project>
+      <Name>ReefCommon</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\reef-common\ReefDriver\ReefDriver.csproj">
+      <Project>{a6baa2a7-f52f-4329-884e-1bcf711d6805}</Project>
+      <Name>ReefDriver</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\reef-examples\HelloCLRBridge\HelloCLRBridge.csproj">
+      <Project>{a78dd8e8-31d0-4506-8738-daa9da86d55b}</Project>
+      <Name>HelloCLRBridge</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\reef-examples\RetainedEvalCLRBridge\RetainedEvalCLRBridge.csproj">
+      <Project>{a33c20fb-a76e-494c-80c5-bce4bad876d3}</Project>
+      <Name>RetainedEvalCLRBridge</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\reef-io\NetWork\NetWork.csproj">
+      <Project>{883ce800-6a6a-4e0a-b7fe-c054f4f2c1dc}</Project>
+      <Name>NetWork</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\reef-tasks\Tasks\Tasks.csproj">
+      <Project>{75503f90-7b82-4762-9997-94b5c68f15db}</Project>
+      <Name>Tasks</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/2ae282de/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/Properties/AssemblyInfo.cs b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..0cfd271
--- /dev/null
+++ b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/Properties/AssemblyInfo.cs
@@ -0,0 +1,55 @@
+/**
+ * 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("CLRBridgeClient")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("CLRBridgeClient")]
+[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("8717944c-5e99-4f95-a916-5ca3c3f8e697")]
+
+// 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/2ae282de/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/run.cmd
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/run.cmd b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/run.cmd
new file mode 100644
index 0000000..3dca837
--- /dev/null
+++ b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/run.cmd
@@ -0,0 +1,45 @@
+@REM
+@REM Copyright (C) 2013 Microsoft Corporation
+@REM
+@REM Licensed under the Apache License, Version 2.0 (the "License");
+@REM you may not use this file except in compliance with the License.
+@REM You may obtain a copy of the License at
+@REM
+@REM         http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing, software
+@REM distributed under the License is distributed on an "AS IS" BASIS,
+@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM See the License for the specific language governing permissions and
+@REM limitations under the License.
+@REM
+
+@echo off
+::
+:: Copyright (C) 2013 Microsoft Corporation
+::
+:: Licensed 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.
+::
+
+
+:: RUNTIME
+set SHADED_JAR=%REEF_HOME%\lang\java\reef-bridge-project\reef-bridge\target\reef-bridge-0.11.0-incubating-SNAPSHOT-shaded.jar
+
+set LOGGING_CONFIG=-Djava.util.logging.config.class=org.apache.reef.util.logging.CLRLoggingConfig
+
+set CLASSPATH=%HADOOP_HOME%\share\hadoop\hdfs\lib\*;%HADOOP_HOME%\share\hadoop\hdfs\*;%HADOOP_HOME%\share\hadoop\common\*;%HADOOP_HOME%\share\hadoop\common\lib\*;%HADOOP_HOME%\share\hadoop\mapreduce\lib\*;%HADOOP_HOME%\share\hadoop\mapreduce\*;%HADOOP_HOME%\share\hadoop\yarn\*;%HADOOP_HOME%\share\hadoop\yarn\lib\*
+
+set CMD=%JAVA_HOME%\bin\java.exe -cp %HADOOP_HOME%\etc\hadoop;%SHADED_JAR%;%CLASSPATH% %LOGGING_CONFIG% %*
+::%LOGGING_CONFIG%
+echo %CMD%
+%CMD%