当前位置: 首页>>代码示例>>Python>>正文


Python ffi.callback方法代码示例

本文整理汇总了Python中cryptography.hazmat.bindings._openssl.ffi.callback方法的典型用法代码示例。如果您正苦于以下问题:Python ffi.callback方法的具体用法?Python ffi.callback怎么用?Python ffi.callback使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在cryptography.hazmat.bindings._openssl.ffi的用法示例。


在下文中一共展示了ffi.callback方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: ffi_callback

# 需要导入模块: from cryptography.hazmat.bindings._openssl import ffi [as 别名]
# 或者: from cryptography.hazmat.bindings._openssl.ffi import callback [as 别名]
def ffi_callback(signature, name, **kwargs):
    """Callback dispatcher

    The ffi_callback() dispatcher keeps callbacks compatible between dynamic
    and static callbacks.
    """
    def wrapper(func):
        if lib.Cryptography_STATIC_CALLBACKS:
            # def_extern() returns a decorator that sets the internal
            # function pointer and returns the original function unmodified.
            ffi.def_extern(name=name, **kwargs)(func)
            callback = getattr(lib, name)
        else:
            # callback() wraps the function in a cdata function.
            callback = ffi.callback(signature, **kwargs)(func)
        return callback
    return wrapper 
开发者ID:DirceuSilvaLabs,项目名称:noc-orchestrator,代码行数:19,代码来源:binding.py

示例2: init_static_locks

# 需要导入模块: from cryptography.hazmat.bindings._openssl import ffi [as 别名]
# 或者: from cryptography.hazmat.bindings._openssl.ffi import callback [as 别名]
def init_static_locks(cls):
        with cls._lock_init_lock:
            cls._ensure_ffi_initialized()

            if not cls._lock_cb_handle:
                wrapper = ffi_callback(
                    "void(int, int, const char *, int)",
                    name="Cryptography_locking_cb",
                )
                cls._lock_cb_handle = wrapper(cls._lock_cb)

            # Use Python's implementation if available, importing _ssl triggers
            # the setup for this.
            __import__("_ssl")

            if cls.lib.CRYPTO_get_locking_callback() != cls.ffi.NULL:
                return

            # If nothing else has setup a locking callback already, we set up
            # our own
            num_locks = cls.lib.CRYPTO_num_locks()
            cls._locks = [threading.Lock() for n in range(num_locks)]

            cls.lib.CRYPTO_set_locking_callback(cls._lock_cb_handle) 
开发者ID:DirceuSilvaLabs,项目名称:noc-orchestrator,代码行数:26,代码来源:binding.py

示例3: init_static_locks

# 需要导入模块: from cryptography.hazmat.bindings._openssl import ffi [as 别名]
# 或者: from cryptography.hazmat.bindings._openssl.ffi import callback [as 别名]
def init_static_locks(cls):
        with cls._lock_init_lock:
            cls._ensure_ffi_initialized()

            if not cls._lock_cb_handle:
                cls._lock_cb_handle = cls.ffi.callback(
                    "void(int, int, const char *, int)",
                    cls._lock_cb
                )

            # Use Python's implementation if available, importing _ssl triggers
            # the setup for this.
            __import__("_ssl")

            if cls.lib.CRYPTO_get_locking_callback() != cls.ffi.NULL:
                return

            # If nothing else has setup a locking callback already, we set up
            # our own
            num_locks = cls.lib.CRYPTO_num_locks()
            cls._locks = [threading.Lock() for n in range(num_locks)]

            cls.lib.CRYPTO_set_locking_callback(cls._lock_cb_handle) 
开发者ID:satwikkansal,项目名称:OneClickDTU,代码行数:25,代码来源:binding.py

示例4: init_static_locks

# 需要导入模块: from cryptography.hazmat.bindings._openssl import ffi [as 别名]
# 或者: from cryptography.hazmat.bindings._openssl.ffi import callback [as 别名]
def init_static_locks(cls):
        with cls._lock_init_lock:
            cls._ensure_ffi_initialized()
            # Use Python's implementation if available, importing _ssl triggers
            # the setup for this.
            __import__("_ssl")

            if cls.lib.CRYPTO_get_locking_callback() != cls.ffi.NULL:
                return

            # If nothing else has setup a locking callback already, we set up
            # our own
            res = lib._setup_ssl_threads()
            _openssl_assert(cls.lib, res == 1) 
开发者ID:lordmuffin,项目名称:aws-cfn-plex,代码行数:16,代码来源:binding.py


注:本文中的cryptography.hazmat.bindings._openssl.ffi.callback方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。