summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorKirill Marinushkin <k.marinushkin@gmail.com>2016-03-13 13:20:52 +0100
committerRich Salz <rsalz@openssl.org>2016-04-02 16:57:07 -0400
commit9fe9d0461ea4bcc42cd75a30f013fa61b5407b93 (patch)
tree138059a58990939eba8e1f421dd17bd0a3ba79c6 /doc
parent6b888643105e37d340d509b98023b4779653c8a7 (diff)
Optimized BIO mem read - without reallocation
Currently on every BIO mem read operation the remaining data is reallocated. This commit solves the issue. BIO mem structure includes additional pointer to the read position. On every read the pointer moves instead of reallocating the memory for the remaining data. Reallocation accures before write and some ioctl operations, if the read pointer doesn't point on the beginning of the buffer. Also the flag is added to rewind the read pointer without losing the data. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'doc')
-rw-r--r--doc/crypto/BIO_s_mem.pod13
1 files changed, 4 insertions, 9 deletions
diff --git a/doc/crypto/BIO_s_mem.pod b/doc/crypto/BIO_s_mem.pod
index 03e291dce3..84abb29823 100644
--- a/doc/crypto/BIO_s_mem.pod
+++ b/doc/crypto/BIO_s_mem.pod
@@ -39,9 +39,10 @@ Memory BIOs support BIO_gets() and BIO_puts().
If the BIO_CLOSE flag is set when a memory BIO is freed then the underlying
BUF_MEM structure is also freed.
-Calling BIO_reset() on a read write memory BIO clears any data in it. On a
-read only BIO it restores the BIO to its original state and the read only
-data can be read again.
+Calling BIO_reset() on a read write memory BIO clears any data in it if the
+flag BIO_FLAGS_NONCLEAR_RST is not set. On a read only BIO or if the flag
+BIO_FLAGS_NONCLEAR_RST is set it restores the BIO to its original state and
+the data can be read again.
BIO_eof() is true if no data is in the BIO.
@@ -90,12 +91,6 @@ give undefined results, including perhaps a program crash.
There should be an option to set the maximum size of a memory BIO.
-There should be a way to "rewind" a read write BIO without destroying
-its contents.
-
-The copying operation should not occur after every small read of a large BIO
-to improve efficiency.
-
=head1 EXAMPLE
Create a memory BIO and write some data to it: