[ 
https://issues.apache.org/jira/browse/THRIFT-3361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14934351#comment-14934351
 ] 

ASF GitHub Bot commented on THRIFT-3361:
----------------------------------------

GitHub user nsuke opened a pull request:

    https://github.com/apache/thrift/pull/630

    THRIFT-3361 Improve C# library

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/nsuke/thrift THRIFT-3361

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/thrift/pull/630.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #630
    
----
commit 427cd4a1e62c583c913a6efbb31243d43f9751ef
Author: Nobuaki Sukegawa <[email protected]>
Date:   2015-09-28T23:39:30Z

    THRIFT-3361 Improve C# library

----


> Improve C# library
> ------------------
>
>                 Key: THRIFT-3361
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3361
>             Project: Thrift
>          Issue Type: Improvement
>          Components: C# - Compiler, C# - Library, Test Suite
>            Reporter: Nobuaki Sukegawa
>
> h3. Server exception handling
> Servers didn't propagate exceptions in handler code to the client.
> Same as THRIFT-3349 (python) and THRIFT-3335 (ruby)
> h3. TBufferedTransport
> System.IO.BufferedStream inside this transport made it strongly tied to 
> underlying transport's stream state.
> More concretely, when used on top of TTLSSocket it crashed because underlying 
> SslStream is disposed by the socket while BufferedStream kept trying to touch 
> the disposed stream after that.
> So I removed BufferedStream and made it use System.IO.MemoryBuffer instead.
> * Can now work on top of TTLSSocket
> * Underlying transport no longer needs to be a TStreamTransport
> h3. TFramedTransport
> It was allocating new MemoryBuffer for nealy every write and read of frames.
> I made it allocate only once.
> h3. JSONProtocol
> * Can now handle Base64 with padding for binary fields (Fixes C# part of 
> THRIFT-3359)
> h3. TTLSSocket
> * Make client certificate optional
> h3. Test
> With this patch applied, all the cross test apps should be mostly valid.
> * Fix SSL setup
> * Semantic return code
> * Add testException and testMultiException
> * Add missing assertions



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to