Objetos de variables de contexto¶
Nota
Distinto en la versión 3.7.1:En Python 3.7.1, las firmas de todas las variables de contexto C APIs fueron cambiadas para usar punteros PyObject en lugar de PyContext, PyContextVar, y PyContextToken, por ejemplo:
// in 3.7.0:
PyContext *PyContext_New(void);
// in 3.7.1+:
PyObject *PyContext_New(void);
Ver bpo-34762 para más detalles.
Nuevo en la versión 3.7.
Esta sección detalla la API pública de C para el módulo contextvars.
-
PyContext¶ La estructura C utilizada para representar un objeto
contextvars.Context.
-
PyContextVar¶ La estructura C utilizada para representar un objeto
contextvars.ContextVar.
-
PyContextToken¶ La estructura C solía representar un objeto
contextvars.Token.
-
PyTypeObject
PyContext_Type¶ El objeto de tipo que representa el tipo context.
-
PyTypeObject
PyContextVar_Type¶ El objeto tipo que representa el tipo variable de contexto.
-
PyTypeObject
PyContextToken_Type¶ El tipo objeto que representa el tipo token de variable de contexto.
Macros de verificación de tipo:
-
int
PyContext_CheckExact(PyObject *o)¶ Retorna verdadero si o es de tipo
PyContext_Type. o no debe serNULL. Esta función siempre finaliza con éxito.
-
int
PyContextVar_CheckExact(PyObject *o)¶ Retorna verdadero si o es de tipo
PyContextVar_Type. o no debe serNULL. Esta función siempre finaliza con éxito.
-
int
PyContextToken_CheckExact(PyObject *o)¶ Retorna verdadero si o es de tipo
PyContextToken_Type. o no debe serNULL. Esta función siempre finaliza con éxito.
Funciones de gestión de objetos de contexto:
-
PyObject *
PyContext_New(void)¶ - Return value: New reference.
Crea un nuevo objeto de contexto vacío. Retorna
NULLsi se ha producido un error.
-
PyObject *
PyContext_Copy(PyObject *ctx)¶ - Return value: New reference.
Crea una copia superficial del objeto de contexto ctx pasado. Retorna
NULLsi se ha producido un error.
-
PyObject *
PyContext_CopyCurrent(void)¶ - Return value: New reference.
Crea una copia superficial del contexto actual del hilo. Retorna
NULLsi se ha producido un error.
-
int
PyContext_Enter(PyObject *ctx)¶ Establece ctx como el contexto actual para el hilo actual. Retorna
0en caso de éxito y-1en caso de error.
-
int
PyContext_Exit(PyObject *ctx)¶ Desactiva el contexto ctx y restaura el contexto anterior como el contexto actual para el hilo actual. Retorna
0en caso de éxito y-1en caso de error.
Funciones variables de contexto:
-
PyObject *
PyContextVar_New(const char *name, PyObject *def)¶ - Return value: New reference.
Create a new
ContextVarobject. The name parameter is used for introspection and debug purposes. The def parameter specifies a default value for the context variable, orNULLfor no default. If an error has occurred, this function returnsNULL.
-
int
PyContextVar_Get(PyObject *var, PyObject *default_value, PyObject **value)¶ Obtiene el valor de una variable de contexto. Retorna
-1si se produjo un error durante la búsqueda y0si no se produjo ningún error, se haya encontrado o no un valor.Si se encontró la variable de contexto, value será un puntero a ella. Si la variable de contexto not se encontró, value apuntará a:
default_value, si no es
NULL;el valor predeterminado de var, si no es
NULL;NULL
Except for
NULL, the function returns a new reference.
-
PyObject *
PyContextVar_Set(PyObject *var, PyObject *value)¶ - Return value: New reference.
Set the value of var to value in the current context. Returns a new token object for this change, or
NULLif an error has occurred.
-
int
PyContextVar_Reset(PyObject *var, PyObject *token)¶ Restablece el estado de la variable de contexto var a la que estaba antes
PyContextVar_Set()que retornó el token fue llamado. Esta función retorna0en caso de éxito y-1en caso de error.