diff --git a/csharp/protos/extest/unittest_generic_services.proto b/csharp/protos/extest/unittest_generic_services.proto
deleted file mode 100644
index 4e68ff0f..00000000
--- a/csharp/protos/extest/unittest_generic_services.proto
+++ /dev/null
@@ -1,30 +0,0 @@
-syntax = "proto2";
-
-// Additional options required for C# generation. File from copyright
-// line onwards is as per original distribution.
-import "google/protobuf/unittest.proto";
-import "google/protobuf/unittest_custom_options.proto";
-
-option csharp_namespace = "Google.ProtocolBuffers.TestProtos";
-
-// option (google.protobuf.csharp_file_options).service_generator_type = GENERIC;
-
-// We don't put this in a package within proto2 because we need to make sure
-// that the generated code doesn't depend on being in the proto2 namespace.
-package protobuf_unittest;
-
-option optimize_for = SPEED;
-
-service TestGenericService {
- rpc Foo(FooRequest) returns (FooResponse);
- rpc Bar(BarRequest) returns (BarResponse);
-}
-
-service TestGenericServiceWithCustomOptions {
- option (service_opt1) = -9876543210;
-
- rpc Foo(CustomOptionFooRequest) returns (CustomOptionFooResponse) {
- option (method_opt1) = METHODOPT1_VAL2;
- }
-}
-
diff --git a/csharp/protos/extest/unittest_rpc_interop.proto b/csharp/protos/extest/unittest_rpc_interop.proto
deleted file mode 100644
index dec5b872..00000000
--- a/csharp/protos/extest/unittest_rpc_interop.proto
+++ /dev/null
@@ -1,41 +0,0 @@
-// Additional options required for C# generation. File from copyright
-// line onwards is as per original distribution.
-import "google/protobuf/csharp_options.proto";
-option (google.protobuf.csharp_file_options).namespace = "Google.ProtocolBuffers.TestProtos";
-option (google.protobuf.csharp_file_options).umbrella_classname = "UnitTestRpcInterop";
-
-option (google.protobuf.csharp_file_options).service_generator_type = IRPCDISPATCH;
-
-option optimize_for = SPEED;
-
-message SearchRequest {
- repeated string Criteria = 1;
-}
-
-message SearchResponse {
- message ResultItem {
- required string url = 1;
- optional string name = 2;
- }
-
- repeated ResultItem results = 1;
-}
-
-message RefineSearchRequest {
- repeated string Criteria = 1;
- required SearchResponse previous_results = 2;
-}
-
-service SearchService {
- /*
- Add this option to specify the GuidAttribute on the service interface
- option (google.protobuf.csharp_service_options).interface_id = "{A65F0925-FD11-4f94-B166-89AC4F027205}";
- */
- rpc Search (SearchRequest) returns (SearchResponse)
- /*
- Add this option to specify the DispIdAttribute on the service interface
- { option (google.protobuf.csharp_method_options).dispatch_id = 5; }
- */ ;
-
- rpc RefineSearch (RefineSearchRequest) returns (SearchResponse);
-}
diff --git a/csharp/protos/extest/unittest_rpc_interop_lite.proto b/csharp/protos/extest/unittest_rpc_interop_lite.proto
deleted file mode 100644
index 62d1c6a6..00000000
--- a/csharp/protos/extest/unittest_rpc_interop_lite.proto
+++ /dev/null
@@ -1,42 +0,0 @@
-// Additional options required for C# generation. File from copyright
-// line onwards is as per original distribution.
-import "google/protobuf/csharp_options.proto";
-option (google.protobuf.csharp_file_options).namespace = "Google.ProtocolBuffers.TestProtos";
-option (google.protobuf.csharp_file_options).umbrella_classname = "UnitTestRpcInteropLite";
-
-option (google.protobuf.csharp_file_options).service_generator_type = IRPCDISPATCH;
-
-option optimize_for = LITE_RUNTIME;
-package unittest_rpc_interop_lite;
-
-message SearchRequest {
- repeated string Criteria = 1;
-}
-
-message SearchResponse {
- message ResultItem {
- required string url = 1;
- optional string name = 2;
- }
-
- repeated ResultItem results = 1;
-}
-
-message RefineSearchRequest {
- repeated string Criteria = 1;
- required SearchResponse previous_results = 2;
-}
-
-service SearchService {
- /*
- Add this option to specify the GuidAttribute on the service interface
- option (google.protobuf.csharp_service_options).interface_id = "{A65F0925-FD11-4f94-B166-89AC4F027205}";
- */
- rpc Search (SearchRequest) returns (SearchResponse)
- /*
- Add this option to specify the DispIdAttribute on the service interface
- { option (google.protobuf.csharp_method_options).dispatch_id = 5; }
- */ ;
-
- rpc RefineSearch (RefineSearchRequest) returns (SearchResponse);
-}
diff --git a/csharp/src/ProtocolBuffers.Serialization/Extensions.cs b/csharp/src/ProtocolBuffers.Serialization/Extensions.cs
index 8aef0a9e..63ac98d8 100644
--- a/csharp/src/ProtocolBuffers.Serialization/Extensions.cs
+++ b/csharp/src/ProtocolBuffers.Serialization/Extensions.cs
@@ -180,34 +180,6 @@ namespace Google.ProtocolBuffers
return builder;
}
- #endregion
- #region IRpcServerStub Extensions
-
- ///
- /// Used to implement a service endpoint on an HTTP server. This works with services generated with the
- /// service_generator_type option set to IRPCDISPATCH.
- ///
- /// The service execution stub
- /// The name of the method being invoked
- /// optional arguments for the format reader/writer
- /// The mime type for the input stream
- /// The input stream
- /// The mime type for the output stream
- /// The output stream
- public static void HttpCallMethod(
-#if !NOEXTENSIONS
- this
-#endif
- IRpcServerStub stub, string methodName, MessageFormatOptions options,
- string contentType, Stream input, string responseType, Stream output)
- {
- ICodedInputStream codedInput = MessageFormatFactory.CreateInputStream(options, contentType, input);
- codedInput.ReadMessageStart();
- IMessageLite response = stub.CallMethod(methodName, codedInput, options.ExtensionRegistry);
- codedInput.ReadMessageEnd();
- WriteTo(response, options, responseType, output);
- }
-
#endregion
}
}
diff --git a/csharp/src/ProtocolBuffers/IRpcChannel.cs b/csharp/src/ProtocolBuffers/IRpcChannel.cs
deleted file mode 100644
index 4ca24ea7..00000000
--- a/csharp/src/ProtocolBuffers/IRpcChannel.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-#region Copyright notice and license
-
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc. All rights reserved.
-// http://github.com/jskeet/dotnet-protobufs/
-// Original C++/Java/Python code:
-// http://code.google.com/p/protobuf/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#endregion
-
-using System;
-using Google.ProtocolBuffers.Descriptors;
-
-namespace Google.ProtocolBuffers
-{
- ///
- /// Interface for an RPC channel. A channel represents a communication line to
- /// a service (IService implementation) which can be used to call that service's
- /// methods. The service may be running on another machine. Normally, you should
- /// not call an IRpcChannel directly, but instead construct a stub wrapping it.
- /// Generated service classes contain a CreateStub method for precisely this purpose.
- ///
- public interface IRpcChannel
- {
- ///
- /// Calls the given method of the remote service. This method is similar
- /// to with one important difference: the
- /// caller decides the types of the IMessage objects, not the implementation.
- /// The request may be of any type as long as request.Descriptor == method.InputType.
- /// The response passed to the callback will be of the same type as
- /// (which must be such that
- /// responsePrototype.Descriptor == method.OutputType).
- ///
- void CallMethod(MethodDescriptor method, IRpcController controller,
- IMessage request, IMessage responsePrototype, Action done);
- }
-}
\ No newline at end of file
diff --git a/csharp/src/ProtocolBuffers/IRpcController.cs b/csharp/src/ProtocolBuffers/IRpcController.cs
deleted file mode 100644
index b155bec5..00000000
--- a/csharp/src/ProtocolBuffers/IRpcController.cs
+++ /dev/null
@@ -1,125 +0,0 @@
-#region Copyright notice and license
-
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc. All rights reserved.
-// http://github.com/jskeet/dotnet-protobufs/
-// Original C++/Java/Python code:
-// http://code.google.com/p/protobuf/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#endregion
-
-using System;
-
-namespace Google.ProtocolBuffers
-{
- ///
- /// Mediates a single method call. The primary purpose of the controller
- /// is to provide a way to manipulate settings specific to the
- /// RPC implementation and to find out about RPC-level errors.
- ///
- /// The methods provided by this interface are intended to be a "least
- /// common denominator" set of features which we expect all implementations to
- /// support. Specific implementations may provide more advanced features,
- /// (e.g. deadline propagation).
- ///
- public interface IRpcController
- {
- #region Client side calls
-
- // These calls may be made from the client side only. Their results
- // are undefined on the server side (may throw exceptions).
-
- ///
- /// Resets the controller to its initial state so that it may be reused in
- /// a new call. This can be called from the client side only. It must not
- /// be called while an RPC is in progress.
- ///
- void Reset();
-
- ///
- /// After a call has finished, returns true if the call failed. The possible
- /// reasons for failure depend on the RPC implementation. Failed must
- /// only be called on the client side, and must not be called before a call has
- /// finished.
- ///
- bool Failed { get; }
-
- ///
- /// If Failed is true, ErrorText returns a human-readable description of the error.
- ///
- string ErrorText { get; }
-
- ///
- /// Advises the RPC system that the caller desires that the RPC call be
- /// canceled. The RPC system may cancel it immediately, may wait awhile and
- /// then cancel it, or may not even cancel the call at all. If the call is
- /// canceled, the "done" callback will still be called and the RpcController
- /// will indicate that the call failed at that time.
- ///
- void StartCancel();
-
- #endregion
-
- #region Server side calls
-
- // These calls may be made from the server side only. Their results
- // are undefined on the client side (may throw exceptions).
-
- ///
- /// Causes Failed to return true on the client side.
- /// will be incorporated into the message returned by ErrorText.
- /// If you find you need to return machine-readable information about
- /// failures, you should incorporate it into your response protocol buffer
- /// and should *not* call SetFailed.
- ///
- void SetFailed(string reason);
-
- ///
- /// If true, indicates that the client canceled the RPC, so the server may as
- /// well give up on replying to it. This method must be called on the server
- /// side only. The server should still call the final "done" callback.
- ///
- bool IsCanceled();
-
- ///
- /// Requests that the given callback be called when the RPC is canceled.
- /// The parameter passed to the callback will always be null. The callback will
- /// be called exactly once. If the RPC completes without being canceled, the
- /// callback will be called after completion. If the RPC has already been canceled
- /// when NotifyOnCancel is called, the callback will be called immediately.
- ///
- /// NotifyOnCancel must be called no more than once per request. It must be
- /// called on the server side only.
- ///
- ///
- void NotifyOnCancel(Action