Example #1
0
void Connection__send(Stack* stack)
{
    Connection* connection = (Connection*) circa_native_ptr(circa_index(circa_input(stack, 0), 0));

    Value* asStr = circa_alloc_value();
    circa_to_string(circa_input(stack, 1), asStr);
    circa_uv_write((uv_stream_t*) &connection->uv_tcp, asStr, true);
}
Example #2
0
int main(int argc, char** argv)
{
    caWorld* world = circa_initialize();

    circa_load_module_from_file(world, "ClassA", "ClassA.ca");

    // circa_dump_b(circa_kernel(world));

    caStack* stack = circa_alloc_stack(world);

    circa_push_function_by_name(stack, "create_ClassA");
    circa_run(stack);

    if (circa_has_error(stack))
        circa_print_error_to_stdout(stack);

    caValue* classA = circa_alloc_value();
    circa_move(circa_output(stack, 0), classA);
    circa_pop(stack);

    // Dump to stdout
    circa_push_function_by_name(stack, "ClassA.dump");
    circa_copy(classA, circa_input(stack, 0));
    circa_run(stack);
    if (circa_has_error(stack))
        circa_print_error_to_stdout(stack);
    circa_pop(stack);

    for (int i=0; i < 5; i++) {
        // Increment
        circa_push_function_by_name(stack, "ClassA.increment");
        circa_copy(classA, circa_input(stack, 0));
        circa_run(stack);
        if (circa_has_error(stack))
            circa_print_error_to_stdout(stack);

        // Using index #1 not 0:
        circa_move(circa_output(stack, 1), classA);
        circa_pop(stack);

        // And dump
        circa_push_function_by_name(stack, "ClassA.dump");
        circa_copy(classA, circa_input(stack, 0));
        circa_run(stack);
        if (circa_has_error(stack))
            circa_print_error_to_stdout(stack);
        circa_pop(stack);
    }

    circa_dealloc_value(classA);
    circa_dealloc_stack(stack);
    circa_shutdown(world);
}
Example #3
0
static void http_write_upgrade_response(uv_stream_t* stream)
{
    Value* msg = circa_alloc_value();

    circa_set_string(msg, "HTTP/1.1 101 Switching Protocols\r\n"
        "Upgrade: websocket\r\n"
        "Connection: Upgrade\r\n"
        "Sec-WebSocket-Accept: ");
    
    circa_string_append(msg, "(responseKey)");
    circa_string_append(msg, "\r\n\r\n");

    circa_uv_write(stream, msg, false);
}
Example #4
0
void ImprovWindow::init(caWorld* world)
{
    _world = world;

    _inputEvents = circa_alloc_value();
    circa_set_list(_inputEvents, 0);

    _stack = circa_create_stack(_world);

    caBlock* main = circa_load_module(_world, NULL, "improv_top_layer");

    if (main == NULL) {
        printf("fatal: Couldn't load improv_top_layer.ca module\n");
        return;
    }

    circa_stack_init(_stack, main);
}
Example #5
0
int main(int argc, char** argv)
{
    caWorld* world = circa_initialize();

    circa_add_module_search_path(world, "tests/embed");

    int iteration = 0;

    while (true) {

        caValue* value = circa_alloc_value();
        circa_set_int(value, iteration);

        circa_actor_run_message(world, "TestA", value);
        sleep(1);
        iteration++;
    }

    circa_shutdown(world);
}
Example #6
0
void test_oracle_clear()
{
    if (g_oracleValues == NULL)
        g_oracleValues = circa_alloc_value();
    set_list(g_oracleValues, 0);
}
Example #7
0
// Spy & oracle
void test_spy_clear()
{
    if (g_spyValues == NULL)
        g_spyValues = circa_alloc_value();
    set_list(g_spyValues, 0);
}