mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
gpg: Add parallelized filter for hashing.
* g10/options.h (COMPAT_PARALLELIZED): New. * g10/filter.h (md_thd_filter_context_t): New type. (md_thd_filter_set_md, md_thd_filter): New. * g10/gpg.c (compatibility_flags): Update to support COMPAT_PARALLELIZED. * g10/mdfilter.c (struct md_thd_filter_context): New. (lock_md, unlock_md, get_buffer_to_hash, put_buffer_to_recv): New. (get_buffer_to_fill, put_buffer_to_send, md_thread): New. (md_thd_filter, md_thd_filter_set_md): New. * g10/sign.c (sign_file): Add support for md_thd_filter. (sign_symencrypt_file): Likewise. -- GnuPG-bug-id: 6570 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
95d9761509
commit
1ddd69935d
5 changed files with 352 additions and 16 deletions
|
@ -29,6 +29,9 @@ typedef struct {
|
|||
size_t maxbuf_size;
|
||||
} md_filter_context_t;
|
||||
|
||||
typedef struct md_thd_filter_context *md_thd_filter_context_t;
|
||||
void md_thd_filter_set_md (md_thd_filter_context_t mfx, gcry_md_hd_t md);
|
||||
|
||||
typedef struct {
|
||||
int refcount; /* Initialized to 1. */
|
||||
|
||||
|
@ -165,6 +168,7 @@ typedef struct {
|
|||
|
||||
/*-- mdfilter.c --*/
|
||||
int md_filter( void *opaque, int control, iobuf_t a, byte *buf, size_t *ret_len);
|
||||
int md_thd_filter( void *opaque, int control, iobuf_t a, byte *buf, size_t *ret_len);
|
||||
void free_md_filter_context( md_filter_context_t *mfx );
|
||||
|
||||
/*-- armor.c --*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue