From: Martin Liska Date: Fri, 15 Oct 2021 15:55:08 +0000 (+0200) Subject: Support thread pool section in HTML documentation. X-Git-Tag: v1.5.1~1^2~74^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F2822%2Fhead;p=thirdparty%2Fzstd.git Support thread pool section in HTML documentation. --- diff --git a/doc/zstd_manual.html b/doc/zstd_manual.html index 010f10a01..3d62f5952 100644 --- a/doc/zstd_manual.html +++ b/doc/zstd_manual.html @@ -1,10 +1,10 @@ -zstd 1.5.0 Manual +zstd 1.5.1 Manual -

zstd 1.5.0 Manual

+

zstd 1.5.1 Manual


Contents

    @@ -357,7 +357,7 @@ size_t ZSTD_freeDCtx(ZSTD_DCtx* dctx); /* accept NULL pointer */ * ZSTD_c_stableOutBuffer * ZSTD_c_blockDelimiters * ZSTD_c_validateSequences - * ZSTD_c_splitBlocks + * ZSTD_c_useBlockSplitter * ZSTD_c_useRowMatchFinder * Because they are not stable, it's necessary to define ZSTD_STATIC_LINKING_ONLY to access them. * note : never ever use experimentalParam? names directly; @@ -803,7 +803,7 @@ size_t ZSTD_freeDStream(ZSTD_DStream* zds); /* accept NULL pointer */

    Advanced dictionary and prefix API (Requires v1.4.0+)

      This API allows dictionaries to be used with ZSTD_compress2(),
    - ZSTD_compressStream2(), and ZSTD_decompress(). Dictionaries are sticky, and
    + ZSTD_compressStream2(), and ZSTD_decompressDCtx(). Dictionaries are sticky, and
      only reset with the context is reset with ZSTD_reset_parameters or
      ZSTD_reset_session_and_parameters. Prefixes are single-use.
     
    @@ -1072,10 +1072,14 @@ size_t ZSTD_sizeof_DDict(const ZSTD_DDict* ddict); } ZSTD_literalCompressionMode_e;

    typedef enum {
    -  ZSTD_urm_auto = 0,                   /* Automatically determine whether or not we use row matchfinder */
    -  ZSTD_urm_disableRowMatchFinder = 1,  /* Never use row matchfinder */
    -  ZSTD_urm_enableRowMatchFinder = 2    /* Always use row matchfinder when applicable */
    -} ZSTD_useRowMatchFinderMode_e;
    +  /* Note: This enum controls features which are conditionally beneficial. Zstd typically will make a final
    +   * decision on whether or not to enable the feature (ZSTD_ps_auto), but setting the switch to ZSTD_ps_enable
    +   * or ZSTD_ps_disable allow for a force enable/disable the feature.
    +   */
    +  ZSTD_ps_auto = 0,         /* Let the library automatically determine whether the feature shall be enabled */
    +  ZSTD_ps_enable = 1,       /* Force-enable the feature */
    +  ZSTD_ps_disable = 2       /* Do not use the feature */
    +} ZSTD_paramSwitch_e;
     

    Frame size functions

    
     
    @@ -1205,6 +1209,25 @@ size_t ZSTD_sizeof_DDict(const ZSTD_DDict* ddict);
      
     


    +
    size_t ZSTD_readSkippableFrame(void* dst, size_t dstCapacity, unsigned* magicVariant,
    +                                const void* src, size_t srcSize);
    +

    Retrieves a zstd skippable frame containing data given by src, and writes it to dst buffer. + + The parameter magicVariant will receive the magicVariant that was supplied when the frame was written, + i.e. magicNumber - ZSTD_MAGIC_SKIPPABLE_START. This can be NULL if the caller is not interested + in the magicVariant. + + Returns an error if destination buffer is not large enough, or if the frame is not skippable. + + @return : number of bytes written or a ZSTD error. + +


    + +
    unsigned ZSTD_isSkippableFrame(const void* buffer, size_t size);
    +

    Tells if the content of `buffer` starts with a valid Frame Identifier for a skippable frame. + +


    +

    Memory management

    
     
     
    size_t ZSTD_estimateCCtxSize(int compressionLevel);
    @@ -1303,6 +1326,21 @@ ZSTD_customMem const ZSTD_defaultCMem = { NULL, NULL, NULL };  /**< this con
      
     


    +
    typedef struct POOL_ctx_s ZSTD_threadPool;
    +ZSTD_threadPool* ZSTD_createThreadPool(size_t numThreads);
    +void ZSTD_freeThreadPool (ZSTD_threadPool* pool);  /* accept NULL pointer */
    +size_t ZSTD_CCtx_refThreadPool(ZSTD_CCtx* cctx, ZSTD_threadPool* pool);
    +

    These prototypes make it possible to share a thread pool among multiple compression contexts. + This can limit resources for applications with multiple threads where each one uses + a threaded compression mode (via ZSTD_c_nbWorkers parameter). + ZSTD_createThreadPool creates a new thread pool with a given number of threads. + Note that the lifetime of such pool must exist while being used. + ZSTD_CCtx_refThreadPool assigns a thread pool to a context (use NULL argument value + to use an internal thread pool). + ZSTD_freeThreadPool frees a thread pool, accepts NULL pointer. + +


    +

    Advanced compression functions

    
     
     
    ZSTD_CDict* ZSTD_createCDict_byReference(const void* dictBuffer, size_t dictSize, int compressionLevel);
    @@ -1594,7 +1632,7 @@ size_t ZSTD_initCStream_usingCDict(ZSTD_CStream* zcs, const ZSTD_CDict* cdict);
     

    This function is DEPRECATED, and equivalent to: ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); ZSTD_CCtx_refCDict(zcs, cdict); - + note : cdict will just be referenced, and must outlive compression session This prototype will generate compilation warnings. diff --git a/lib/zstd.h b/lib/zstd.h index 17fec948a..6709c65d7 100644 --- a/lib/zstd.h +++ b/lib/zstd.h @@ -1589,15 +1589,15 @@ ZSTDLIB_API ZSTD_CDict* ZSTD_createCDict_advanced(const void* dict, size_t dictS ZSTD_compressionParameters cParams, ZSTD_customMem customMem); -/* ! Thread pool : - * These prototypes make it possible to share a thread pool among multiple compression contexts. - * This can limit resources for applications with multiple threads where each one uses - * a threaded compression mode (via ZSTD_c_nbWorkers parameter). - * ZSTD_createThreadPool creates a new thread pool with a given number of threads. - * Note that the lifetime of such pool must exist while being used. - * ZSTD_CCtx_refThreadPool assigns a thread pool to a context (use NULL argument value - * to use an internal thread pool). - * ZSTD_freeThreadPool frees a thread pool, accepts NULL pointer. +/*! Thread pool : + * These prototypes make it possible to share a thread pool among multiple compression contexts. + * This can limit resources for applications with multiple threads where each one uses + * a threaded compression mode (via ZSTD_c_nbWorkers parameter). + * ZSTD_createThreadPool creates a new thread pool with a given number of threads. + * Note that the lifetime of such pool must exist while being used. + * ZSTD_CCtx_refThreadPool assigns a thread pool to a context (use NULL argument value + * to use an internal thread pool). + * ZSTD_freeThreadPool frees a thread pool, accepts NULL pointer. */ typedef struct POOL_ctx_s ZSTD_threadPool; ZSTDLIB_API ZSTD_threadPool* ZSTD_createThreadPool(size_t numThreads);