THRIFT-25. csharp: Various compiler and library improvements
authorDavid Reiss <dreiss@apache.org>
Tue, 6 Jan 2009 19:49:22 +0000 (19:49 +0000)
committerDavid Reiss <dreiss@apache.org>
Tue, 6 Jan 2009 19:49:22 +0000 (19:49 +0000)
commit6319133cacb49c815aa1783c129aa427c762b2fd
treed6af7dd2eee92f98de31d7671eac808eafafdbed
parentd6b7182df59ae7cb1849c36b5d9513fce681ce35
THRIFT-25. csharp: Various compiler and library improvements

Compiler:
- Thrift structures are serializable.
- The member fields of thrift structures are now private and only accessible
  through Properties, which keep the appropriate __isset up to date.

Library
- Addition of TBufferedTransport, which can be used to wrap other Transports.
- Addition of TThreadedServer, which manually manages threads instead of
  relying on .NET ThreadPool.
- Servers use a log delegate that defaults to System.Console but allows
  servers to use log4net without introducing the dependency.

ThriftTest Visual Studio Project
- Test client and server that use ThriftTest.thrift. The project references
  thrift.exe and Thrift.dll from the subversion tree and automatically builds
  generated code. This makes it very easy to test changes in both the compiler
  and library.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@732079 13f79535-47bb-0310-9956-ffa450edef68
17 files changed:
compiler/cpp/src/generate/t_csharp_generator.cc
lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs
lib/csharp/ThriftMSBuildTask/ThriftBuild.cs
lib/csharp/src/Server/TServer.cs
lib/csharp/src/Server/TSimpleServer.cs
lib/csharp/src/Server/TThreadPoolServer.cs
lib/csharp/src/Server/TThreadedServer.cs [new file with mode: 0644]
lib/csharp/src/Thrift.csproj
lib/csharp/src/Transport/TBufferedTransport.cs [new file with mode: 0644]
lib/csharp/src/Transport/TServerSocket.cs
lib/csharp/src/Transport/TSocket.cs
lib/csharp/src/Transport/TStreamTransport.cs
test/csharp/ThriftTest/Program.cs [new file with mode: 0644]
test/csharp/ThriftTest/Properties/AssemblyInfo.cs [new file with mode: 0644]
test/csharp/ThriftTest/TestClient.cs [new file with mode: 0644]
test/csharp/ThriftTest/TestServer.cs [new file with mode: 0644]
test/csharp/ThriftTest/ThriftTest.csproj [new file with mode: 0644]