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); }
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); }
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); }
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); }
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); }
void test_oracle_clear() { if (g_oracleValues == NULL) g_oracleValues = circa_alloc_value(); set_list(g_oracleValues, 0); }
// Spy & oracle void test_spy_clear() { if (g_spyValues == NULL) g_spyValues = circa_alloc_value(); set_list(g_spyValues, 0); }