[ https://issues.apache.org/jira/browse/THRIFT-3361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jens Geyer resolved THRIFT-3361. -------------------------------- Resolution: Fixed Fix Version/s: 0.9.4 Committed including my patch to adjust exceptions thrown. Thank you + keep up the good work! > 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 > Assignee: Jens Geyer > Fix For: 0.9.4 > > Attachments: 0001-THRIFT-3361-Improve-C-library.patch > > > 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)