You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Michael Greene (JIRA)" <ji...@apache.org> on 2009/01/06 08:47:44 UTC

[jira] Updated: (THRIFT-25) improvements to C# compiler and library

     [ https://issues.apache.org/jira/browse/THRIFT-25?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Greene updated THRIFT-25:
---------------------------------

    Attachment: 0001-THRIFT-25.-csharp-Various-compiler-and-library-impr.patch

This patch builds on dreiss's http://gitweb.thrift-rpc.org/?p=thrift.git;a=commitdiff;h=2b4dbd5 and the previous submissions by Will and me.  To the latest patch it adds the relevant using statement in AssemblyInfo, and removes the duplication in ThriftTest/Program.cs

With this patch applied, the csharp generator, library, and tests compile with the advantages previously listed.  The tests correctly run to completion.
The environment tested was MinGW Thrift built through Cygwin without dependencies, and Visual Studio 2008, on Windows Vista.

There are some ways to make this patch more useful in mixed environments, by incorporating environment variables into the ThriftTest pre-build step.  Since this does not affect generator or library usage, I think it can be made a different issue.

Also, .gitignore/svnignore need to be modified for Windows builds in general, and C# builds in particular, but that is also another issue.

> improvements to C# compiler and library
> ---------------------------------------
>
>                 Key: THRIFT-25
>                 URL: https://issues.apache.org/jira/browse/THRIFT-25
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Compiler (C#), Library (C#)
>         Environment: Windows
>            Reporter: Will Palmeri
>         Attachments: 0001-THRIFT-25.-csharp-Various-compiler-and-library-impr.patch, csharpimprovements-nospace2.patch, csharpimprovements.patch
>
>
> We have a patch with lots of changes to the C# compiler and libary.
> 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.  I saw a 10x improvement in the test client when using buffered sockets
> -addition of TThreadedServer. manually manages threads instead of relying on .net ThreadPool
> -servers use a log delegate. defaults to System.Console, but allows servers to use log4net without introducing the dependency.
> ThriftTest visual studio project
> -test client and server that uses 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.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.