diff options
author | Mattes D <github@xoft.cz> | 2014-05-11 20:59:15 +0200 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-05-11 20:59:15 +0200 |
commit | e0c56b752204202840f60ed904210c99414517bb (patch) | |
tree | 4532e85cbcc873a2616147713e9f899ecf84d111 /src/PolarSSL++/BufferedSslContext.cpp | |
parent | Merge pull request #993 from mc-server/GridStructGen (diff) | |
parent | Merge branch 'master' into SslWebAdmin (diff) | |
download | cuberite-e0c56b752204202840f60ed904210c99414517bb.tar cuberite-e0c56b752204202840f60ed904210c99414517bb.tar.gz cuberite-e0c56b752204202840f60ed904210c99414517bb.tar.bz2 cuberite-e0c56b752204202840f60ed904210c99414517bb.tar.lz cuberite-e0c56b752204202840f60ed904210c99414517bb.tar.xz cuberite-e0c56b752204202840f60ed904210c99414517bb.tar.zst cuberite-e0c56b752204202840f60ed904210c99414517bb.zip |
Diffstat (limited to '')
-rw-r--r-- | src/PolarSSL++/BufferedSslContext.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/PolarSSL++/BufferedSslContext.cpp b/src/PolarSSL++/BufferedSslContext.cpp index 885b30c68..9f7caeb8a 100644 --- a/src/PolarSSL++/BufferedSslContext.cpp +++ b/src/PolarSSL++/BufferedSslContext.cpp @@ -20,6 +20,37 @@ cBufferedSslContext::cBufferedSslContext(size_t a_BufferSize): +size_t cBufferedSslContext::WriteIncoming(const void * a_Data, size_t a_NumBytes) +{ + size_t NumBytes = std::min(m_IncomingData.GetFreeSpace(), a_NumBytes); + if (NumBytes > 0) + { + m_IncomingData.Write(a_Data, NumBytes); + return NumBytes; + } + return 0; +} + + + + + +size_t cBufferedSslContext::ReadOutgoing(void * a_Data, size_t a_DataMaxSize) +{ + size_t NumBytes = std::min(m_OutgoingData.GetReadableSpace(), a_DataMaxSize); + if (NumBytes > 0) + { + m_OutgoingData.ReadBuf(a_Data, NumBytes); + m_OutgoingData.CommitRead(); + return NumBytes; + } + return 0; +} + + + + + int cBufferedSslContext::ReceiveEncrypted(unsigned char * a_Buffer, size_t a_NumBytes) { // Called when PolarSSL wants to read encrypted data from the SSL peer |