void
vmod_workspace_overflow(VRT_CTX, VCL_ENUM which)
{
    struct ws *ws;
    CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);

    ws = wsfind(ctx, which);
    WS_Assert(ws);

    WS_MarkOverflow(ws);
}
VCL_BOOL
vmod_workspace_overflowed(VRT_CTX, VCL_ENUM which)
{
    struct ws *ws;
    CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);

    ws = wsfind(ctx, which);
    WS_Assert(ws);

    return (WS_Overflowed(ws));
}
Example #3
0
void
vmod_workspace_reset(VRT_CTX, VCL_ENUM which)
{
	struct ws *ws;
	CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);

	ws = wsfind(ctx, which);
	WS_Assert(ws);

	WS_Reset(ws, debug_ws_snap);
}
Example #4
0
void
vmod_workspace_snap(VRT_CTX, VCL_ENUM which)
{
	struct ws *ws;
	CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);

	ws = wsfind(ctx, which);
	WS_Assert(ws);

	debug_ws_snap = WS_Snapshot(ws);
}
VCL_INT
vmod_workspace_free(VRT_CTX, VCL_ENUM which)
{
    struct ws *ws;
    CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);

    ws = wsfind(ctx, which);

    WS_Assert(ws);
    AZ(ws->r);

    return pdiff(ws->f, ws->e);
}
void
vmod_workspace_allocate(VRT_CTX, VCL_ENUM which, VCL_INT size)
{
    struct ws *ws;
    char *s;
    CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);

    ws = wsfind(ctx, which);

    WS_Assert(ws);
    AZ(ws->r);

    s = WS_Alloc(ws, size);
    if (!s)
        return;
    memset(s, '\0', size);
}