diff options
author | madmaxoft <github@xoft.cz> | 2014-05-18 23:10:23 +0200 |
---|---|---|
committer | madmaxoft <github@xoft.cz> | 2014-05-18 23:10:23 +0200 |
commit | e69a11012fb7543d47230663a01af2a7ec20960c (patch) | |
tree | 2c4a5b6759f76059736bdf5b30ea17f2a6ee8570 /src/PolarSSL++/BufferedSslContext.cpp | |
parent | Updated SandVillage prefabs to latest Gallery content. (diff) | |
parent | There's no "round" function in MSVC2008. (diff) | |
download | cuberite-e69a11012fb7543d47230663a01af2a7ec20960c.tar cuberite-e69a11012fb7543d47230663a01af2a7ec20960c.tar.gz cuberite-e69a11012fb7543d47230663a01af2a7ec20960c.tar.bz2 cuberite-e69a11012fb7543d47230663a01af2a7ec20960c.tar.lz cuberite-e69a11012fb7543d47230663a01af2a7ec20960c.tar.xz cuberite-e69a11012fb7543d47230663a01af2a7ec20960c.tar.zst cuberite-e69a11012fb7543d47230663a01af2a7ec20960c.zip |
Diffstat (limited to 'src/PolarSSL++/BufferedSslContext.cpp')
-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 |