Various naming scheme updates
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
|
||||
static DN_I32 DN_ASYNC_ThreadEntryPoint_(DN_OSThread *thread)
|
||||
{
|
||||
DN_OS_ThreadSetName(DN_FStr8_ToStr8(&thread->name));
|
||||
DN_OS_ThreadSetName(DN_Str8_FromIStr8(&thread->name));
|
||||
DN_ASYNCCore *async = DN_CAST(DN_ASYNCCore *) thread->user_context;
|
||||
DN_Ring *ring = &async->ring;
|
||||
for (;;) {
|
||||
@@ -51,7 +51,7 @@ DN_API void DN_ASYNC_Init(DN_ASYNCCore *async, char *base, DN_USize base_size, D
|
||||
async->threads = threads;
|
||||
for (DN_ForIndexU(index, async->thread_count)) {
|
||||
DN_OSThread *thread = async->threads + index;
|
||||
thread->name = DN_FStr8_InitF<64>("ASYNC W%zu", index);
|
||||
DN_IStr8_AppendF(&thread->name, "ASYNC W%zu", index);
|
||||
DN_OS_ThreadInit(thread, DN_ASYNC_ThreadEntryPoint_, async);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ DN_API void DN_BinPack_Str8FromArena(DN_BinPack *pack, DN_Arena *arena, DN_BinPa
|
||||
DN_Str8Builder_AppendBytesCopy(&pack->writer, string->data, string->size);
|
||||
} else {
|
||||
DN_Str8 src = DN_Str8_Slice(pack->read, pack->read_index, string->size);
|
||||
*string = DN_Str8_Copy(arena, src);
|
||||
*string = DN_Str8_FromStr8(arena, src);
|
||||
pack->read_index += src.size;
|
||||
}
|
||||
}
|
||||
@@ -129,19 +129,6 @@ DN_API void DN_BinPack_Str8FromPool(DN_BinPack *pack, DN_Pool *pool, DN_BinPackM
|
||||
}
|
||||
}
|
||||
|
||||
template <DN_USize N>
|
||||
DN_API void DN_BinPack_FStr8(DN_BinPack *pack, DN_BinPackMode mode, DN_FStr8<N> *string)
|
||||
{
|
||||
DN_BinPack_VarInt_(pack, mode, &string->size, sizeof(string->size));
|
||||
if (mode == DN_BinPackMode_Serialise) {
|
||||
DN_Str8Builder_AppendBytesCopy(&pack->writer, string->data, string->size);
|
||||
} else {
|
||||
DN_Str8 src = DN_Str8_Slice(pack->read, pack->read_index, string->size);
|
||||
*string = DN_FStr8_InitF<N>("%.*s", DN_STR_FMT(src));
|
||||
pack->read_index += src.size;
|
||||
}
|
||||
}
|
||||
|
||||
DN_API void DN_BinPack_BytesFromArena(DN_BinPack *pack, DN_Arena *arena, DN_BinPackMode mode, void **ptr, DN_USize *size)
|
||||
{
|
||||
DN_Str8 string = DN_Str8_Init(*ptr, *size);
|
||||
|
||||
@@ -35,7 +35,6 @@ DN_API void DN_BinPack_V4 (DN_BinPack *pack,
|
||||
DN_API void DN_BinPack_Bool (DN_BinPack *pack, DN_BinPackMode mode, bool *item);
|
||||
DN_API void DN_BinPack_Str8FromArena (DN_BinPack *pack, DN_Arena *arena, DN_BinPackMode mode, DN_Str8 *string);
|
||||
DN_API void DN_BinPack_Str8FromPool (DN_BinPack *pack, DN_Pool *pool, DN_BinPackMode mode, DN_Str8 *string);
|
||||
template <DN_USize N> DN_API void DN_BinPack_FStr8 (DN_BinPack *pack, DN_BinPackMode mode, DN_FStr8<N> *string);
|
||||
DN_API void DN_BinPack_BytesFromArena(DN_BinPack *pack, DN_Arena *arena, DN_BinPackMode mode, void **ptr, DN_USize *size);
|
||||
DN_API void DN_BinPack_BytesFromPool (DN_BinPack *pack, DN_Pool *pool, DN_BinPackMode mode, void **ptr, DN_USize *size);
|
||||
DN_API void DN_BinPack_CArray (DN_BinPack *pack, DN_BinPackMode mode, void *ptr, DN_USize size);
|
||||
|
||||
+17
-17
@@ -344,7 +344,7 @@ DN_API DN_CGenMapNodeToEnum DN_CGen_MapNodeToEnumOrExit(MD_Node const *node, DN_
|
||||
DN_OSTLSTMem tmem = DN_OS_TLSTMem(nullptr);
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
DN_Str8 user_msg = DN_Str8_InitFV(tmem.arena, fmt, args);
|
||||
DN_Str8 user_msg = DN_Str8_FromFV(tmem.arena, fmt, args);
|
||||
va_end(args);
|
||||
|
||||
DN_Str8Builder builder = {};
|
||||
@@ -516,7 +516,7 @@ static void DN_CGen_EmitRowWhitespace_(DN_CGenTableRow const *row, DN_CppFile *c
|
||||
break;
|
||||
|
||||
DN_OSTLSTMem tmem = DN_OS_TLSTMem(nullptr);
|
||||
DN_Str8 prefix = DN_Str8_InitF(tmem.arena, "// NOTE: %.*s ", MD_S8VArg(tag->comment));
|
||||
DN_Str8 prefix = DN_Str8_FromF(tmem.arena, "// NOTE: %.*s ", MD_S8VArg(tag->comment));
|
||||
int line_padding = DN_Max(100 - (DN_CAST(int) prefix.size + (DN_CppSpacePerIndent(cpp) * cpp->indent)), 0);
|
||||
DN_CppPrint(cpp, "%.*s", DN_STR_FMT(prefix));
|
||||
for (int index = 0; index < line_padding; index++)
|
||||
@@ -610,7 +610,7 @@ DN_API void DN_CGen_EmitCodeForTables(DN_CGen *cgen, DN_CGenEmit emit, DN_CppFil
|
||||
DN_OSTLSTMem tmem = DN_OS_TLSTMem(nullptr);
|
||||
DN_Str8 array_size = {};
|
||||
if (cpp_array_size.column.string.size)
|
||||
array_size = DN_Str8_InitF(tmem.arena, "[%.*s]", DN_STR_FMT(cpp_array_size.column.string));
|
||||
array_size = DN_Str8_FromF(tmem.arena, "[%.*s]", DN_STR_FMT(cpp_array_size.column.string));
|
||||
|
||||
// NOTE: Check if we're referencing a code generated type. If we
|
||||
// are, append the `emit_prefix`
|
||||
@@ -618,7 +618,7 @@ DN_API void DN_CGen_EmitCodeForTables(DN_CGen *cgen, DN_CGenEmit emit, DN_CppFil
|
||||
{
|
||||
DN_Str8 find_name = DN_CGen_StripQualifiersOnCppType_(tmem.arena, emit_cpp_type);
|
||||
if (DN_CGen_WillCodeGenTypeName(cgen, find_name))
|
||||
emit_cpp_type = DN_Str8_InitF(tmem.arena, "%.*s%.*s", DN_STR_FMT(emit_prefix), DN_STR_FMT(cpp_type.column.string));
|
||||
emit_cpp_type = DN_Str8_FromF(tmem.arena, "%.*s%.*s", DN_STR_FMT(emit_prefix), DN_STR_FMT(cpp_type.column.string));
|
||||
}
|
||||
|
||||
int name_to_type_padding = 1 + longest_type_name - DN_CAST(int) emit_cpp_type.size;
|
||||
@@ -814,7 +814,7 @@ DN_API void DN_CGen_EmitCodeForTables(DN_CGen *cgen, DN_CGenEmit emit, DN_CppFil
|
||||
// NOTE: CHeck the length of the string after turning it into emittable code
|
||||
DN_Str8 cpp_type_name = DN_CGen_StripQualifiersOnCppType_(tmem.arena, cpp_type.column.string);
|
||||
if (DN_CGen_WillCodeGenTypeName(cgen, cpp_type_name))
|
||||
cpp_type_name = DN_Str8_InitFFromTLS("%.*s%.*s", DN_STR_FMT(emit_prefix), DN_STR_FMT(cpp_type_name));
|
||||
cpp_type_name = DN_Str8_FromTLSF("%.*s%.*s", DN_STR_FMT(emit_prefix), DN_STR_FMT(cpp_type_name));
|
||||
|
||||
DN_Str8 cpp_type_name_no_templates = DN_CGen_ConvertTemplatesToEmittableLiterals_(tmem.arena, cpp_type_name);
|
||||
longest_cpp_type_name = DN_Max(longest_cpp_type_name, cpp_type_name_no_templates.size);
|
||||
@@ -849,7 +849,7 @@ DN_API void DN_CGen_EmitCodeForTables(DN_CGen *cgen, DN_CGenEmit emit, DN_CppFil
|
||||
index_the_field_references = sub_row_index;
|
||||
}
|
||||
cpp_array_size_field_str8 =
|
||||
DN_Str8_InitFFromTLS("&g_%.*s%.*s_type_fields[%zu]",
|
||||
DN_Str8_FromTLSF("&g_%.*s%.*s_type_fields[%zu]",
|
||||
DN_STR_FMT(emit_prefix),
|
||||
DN_STR_FMT(struct_name.string),
|
||||
index_the_field_references);
|
||||
@@ -862,7 +862,7 @@ DN_API void DN_CGen_EmitCodeForTables(DN_CGen *cgen, DN_CGenEmit emit, DN_CppFil
|
||||
DN_USize cpp_name_padding = 1 + it.table->headers[cpp_name.index].longest_string - cpp_name.column.string.size;
|
||||
DN_USize cpp_type_padding = 1 + longest_cpp_type_name - cpp_type_name.size;
|
||||
|
||||
DN_Str8 cpp_type_enum = DN_Str8_InitFFromTLS("%.*sType_%.*s", DN_STR_FMT(emit_prefix), DN_STR_FMT(orig_cpp_type_no_templates));
|
||||
DN_Str8 cpp_type_enum = DN_Str8_FromTLSF("%.*sType_%.*s", DN_STR_FMT(emit_prefix), DN_STR_FMT(orig_cpp_type_no_templates));
|
||||
DN_USize cpp_type_enum_padding = cpp_type_padding + (orig_cpp_type.size - cpp_type_name.size);
|
||||
|
||||
DN_Str8 cpp_label_str8 = cpp_name.column.string;
|
||||
@@ -872,7 +872,7 @@ DN_API void DN_CGen_EmitCodeForTables(DN_CGen *cgen, DN_CGenEmit emit, DN_CppFil
|
||||
cpp_label_str8_padding = 1 + it.table->headers[cpp_label.index].longest_string - cpp_label.column.string.size;
|
||||
}
|
||||
|
||||
DN_Str8Builder builder = DN_Str8Builder_Init(tmem.arena);
|
||||
DN_Str8Builder builder = DN_Str8Builder_FromArena(tmem.arena);
|
||||
|
||||
// NOTE: row
|
||||
DN_Str8Builder_AppendF(&builder, "{%2d, ", row_index);
|
||||
@@ -962,8 +962,8 @@ DN_API void DN_CGen_EmitCodeForTables(DN_CGen *cgen, DN_CGenEmit emit, DN_CppFil
|
||||
|
||||
DN_OSTLSTMem tmem = DN_OS_TLSPushTMem(nullptr);
|
||||
DN_USize cpp_name_padding = 1 + it.table->headers[cpp_name.index].longest_string - cpp_name.column.string.size;
|
||||
DN_Str8 cpp_value_str8 = DN_Str8_HasData(cpp_value.column.string) ? cpp_value.column.string : DN_Str8_InitFFromTLS("%zu", row_index);
|
||||
DN_Str8 cpp_type_enum = DN_Str8_InitFFromTLS("%.*sType_%.*s", DN_STR_FMT(emit_prefix), DN_STR_FMT(struct_or_enum_name));
|
||||
DN_Str8 cpp_value_str8 = DN_Str8_HasData(cpp_value.column.string) ? cpp_value.column.string : DN_Str8_FromTLSF("%zu", row_index);
|
||||
DN_Str8 cpp_type_enum = DN_Str8_FromTLSF("%.*sType_%.*s", DN_STR_FMT(emit_prefix), DN_STR_FMT(struct_or_enum_name));
|
||||
|
||||
DN_Str8 cpp_label_str8 = cpp_name.column.string;
|
||||
DN_USize cpp_label_str8_padding = cpp_name_padding;
|
||||
@@ -1029,7 +1029,7 @@ DN_API void DN_CGen_EmitCodeForTables(DN_CGen *cgen, DN_CGenEmit emit, DN_CppFil
|
||||
DN_OSTLSTMem tmem = DN_OS_TLSTMem(nullptr);
|
||||
DN_Str8 type_name = it.cgen_table_column[DN_CGenTableHeaderType_Name].string;
|
||||
if (DN_CGen_WillCodeGenTypeName(cgen, type_name))
|
||||
type_name = DN_Str8_InitF(tmem.arena, "%.*s%.*s", DN_STR_FMT(emit_prefix), DN_STR_FMT(type_name));
|
||||
type_name = DN_Str8_FromF(tmem.arena, "%.*s%.*s", DN_STR_FMT(emit_prefix), DN_STR_FMT(type_name));
|
||||
|
||||
longest_name_across_all_tables = DN_Max(longest_name_across_all_tables, DN_CAST(int) type_name.size);
|
||||
}
|
||||
@@ -1045,7 +1045,7 @@ DN_API void DN_CGen_EmitCodeForTables(DN_CGen *cgen, DN_CGenEmit emit, DN_CppFil
|
||||
DN_OSTLSTMem tmem = DN_OS_TLSTMem(nullptr);
|
||||
DN_Str8 type_name = it.cgen_table_column[DN_CGenTableHeaderType_Name].string;
|
||||
if (DN_CGen_WillCodeGenTypeName(cgen, type_name))
|
||||
type_name = DN_Str8_InitF(tmem.arena, "%.*s%.*s", DN_STR_FMT(emit_prefix), DN_STR_FMT(type_name));
|
||||
type_name = DN_Str8_FromF(tmem.arena, "%.*s%.*s", DN_STR_FMT(emit_prefix), DN_STR_FMT(type_name));
|
||||
longest_type_name = DN_Max(longest_type_name, type_name.size);
|
||||
}
|
||||
}
|
||||
@@ -1055,7 +1055,7 @@ DN_API void DN_CGen_EmitCodeForTables(DN_CGen *cgen, DN_CGenEmit emit, DN_CppFil
|
||||
DN_OSTLSTMem tmem = DN_OS_TLSPushTMem(nullptr);
|
||||
DN_Str8 type_name = it.cgen_table_column[DN_CGenTableHeaderType_Name].string;
|
||||
if (DN_CGen_WillCodeGenTypeName(cgen, type_name))
|
||||
type_name = DN_Str8_InitFFromTLS("%.*s%.*s", DN_STR_FMT(emit_prefix), DN_STR_FMT(type_name));
|
||||
type_name = DN_Str8_FromTLSF("%.*s%.*s", DN_STR_FMT(emit_prefix), DN_STR_FMT(type_name));
|
||||
|
||||
int name_padding = 1 + longest_name_across_all_tables - DN_CAST(int) type_name.size;
|
||||
DN_Str8 type_info_kind = {};
|
||||
@@ -1082,14 +1082,14 @@ DN_API void DN_CGen_EmitCodeForTables(DN_CGen *cgen, DN_CGenEmit emit, DN_CppFil
|
||||
DN_CGenLookupColumnAtHeader cpp_name = DN_CGen_LookupColumnAtHeader(it.table, it.cgen_table_column[DN_CGenTableHeaderType_CppName].string, row);
|
||||
fields_count_int += DN_Str8_HasData(cpp_name.column.string);
|
||||
}
|
||||
fields_count = DN_Str8_InitFFromTLS("%d", fields_count_int);
|
||||
fields_count = DN_Str8_FromTLSF("%d", fields_count_int);
|
||||
}
|
||||
|
||||
DN_Str8 fields = DN_STR8("NULL");
|
||||
int fields_padding = 1;
|
||||
if (table->type != DN_CGenTableType_CodeGenBuiltinTypes) {
|
||||
fields_padding = name_padding;
|
||||
fields = DN_Str8_InitF(tmem.arena, "g_%.*s_type_fields", DN_STR_FMT(type_name));
|
||||
fields = DN_Str8_FromF(tmem.arena, "g_%.*s_type_fields", DN_STR_FMT(type_name));
|
||||
}
|
||||
|
||||
DN_Str8Builder builder = DN_Str8Builder_InitFromTLS();
|
||||
@@ -1130,10 +1130,10 @@ DN_API void DN_CGen_EmitCodeForTables(DN_CGen *cgen, DN_CGenEmit emit, DN_CppFil
|
||||
for (DN_CGenTable *table = cgen->first_table; table != 0; table = table->next) {
|
||||
for (DN_CGenLookupTableIterator it = {}; DN_CGen_LookupNextTableInCodeGenTable(cgen, table, &it);) {
|
||||
DN_Str8 enum_name = DN_CGen_ConvertTemplatesToEmittableLiterals_(tmem.arena, it.cgen_table_column[DN_CGenTableHeaderType_Name].string);
|
||||
DN_Str8 full_enum_name = DN_Str8_InitF(tmem.arena, "%.*sType_%.*s", DN_STR_FMT(emit_prefix), DN_STR_FMT(enum_name));
|
||||
DN_Str8 full_enum_name = DN_Str8_FromF(tmem.arena, "%.*sType_%.*s", DN_STR_FMT(emit_prefix), DN_STR_FMT(enum_name));
|
||||
|
||||
// NOTE: Builtin types don't have type info
|
||||
DN_Str8 full_variable_name = DN_Str8_InitF(tmem.arena, "g_%.*s%.*s_type_fields", DN_STR_FMT(emit_prefix), DN_STR_FMT(enum_name));
|
||||
DN_Str8 full_variable_name = DN_Str8_FromF(tmem.arena, "g_%.*s%.*s_type_fields", DN_STR_FMT(emit_prefix), DN_STR_FMT(enum_name));
|
||||
if (it.cgen_table->type == DN_CGenTableType_CodeGenBuiltinTypes)
|
||||
full_variable_name = DN_STR8("nullptr");
|
||||
|
||||
|
||||
@@ -250,7 +250,7 @@ static void DN_CSV_PackStr8(DN_CSVPack *pack, DN_CSVSerialise serialise, DN_Str8
|
||||
{
|
||||
if (serialise == DN_CSVSerialise_Read) {
|
||||
DN_Str8 csv_value = DN_CSV_TokeniserNextColumn(&pack->read_tokeniser);
|
||||
*str8 = DN_Str8_Copy(arena, csv_value);
|
||||
*str8 = DN_Str8_FromStr8(arena, csv_value);
|
||||
} else {
|
||||
DN_Str8Builder_AppendF(&pack->write_builder, "%s%.*s", pack->write_column++ ? "," : "", DN_STR_FMT(*str8));
|
||||
}
|
||||
|
||||
@@ -164,7 +164,7 @@ DN_API void DN_JSONBuilder_KeyValue(DN_JSONBuilder *builder, DN_Str8 key, DN_Str
|
||||
DN_API void DN_JSONBuilder_KeyValueFV(DN_JSONBuilder *builder, DN_Str8 key, char const *value_fmt, va_list args)
|
||||
{
|
||||
DN_OSTLSTMem tmem = DN_OS_TLSTMem(builder->string_builder.arena);
|
||||
DN_Str8 value = DN_Str8_InitFV(tmem.arena, value_fmt, args);
|
||||
DN_Str8 value = DN_Str8_FromFV(tmem.arena, value_fmt, args);
|
||||
DN_JSONBuilder_KeyValue(builder, key, value);
|
||||
}
|
||||
|
||||
|
||||
@@ -1214,25 +1214,23 @@ DN_API DN_M4 DN_M4_DivF(DN_M4 lhs, DN_F32 rhs)
|
||||
return result;
|
||||
}
|
||||
|
||||
#if !defined(DN_NO_FSTR8)
|
||||
DN_API DN_FStr8<256> DN_M4_ColumnMajorString(DN_M4 mat)
|
||||
DN_API DN_Str8x256 DN_M4_ColumnMajorString(DN_M4 mat)
|
||||
{
|
||||
DN_FStr8<256> result = {};
|
||||
DN_Str8x256 result = {};
|
||||
for (int row = 0; row < 4; row++) {
|
||||
for (int it = 0; it < 4; it++) {
|
||||
if (it == 0)
|
||||
DN_FStr8_Add(&result, DN_STR8("|"));
|
||||
DN_FStr8_AddF(&result, "%.5f", mat.columns[it][row]);
|
||||
DN_IStr8_AppendF(&result, "|");
|
||||
DN_IStr8_AppendF(&result, "%.5f", mat.columns[it][row]);
|
||||
if (it != 3)
|
||||
DN_FStr8_Add(&result, DN_STR8(", "));
|
||||
DN_IStr8_AppendF(&result, ", ");
|
||||
else
|
||||
DN_FStr8_Add(&result, DN_STR8("|\n"));
|
||||
DN_IStr8_AppendF(&result, "|\n");
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
#endif // !defined(DN_M4)
|
||||
|
||||
// NOTE: DN_M2x3 ///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -288,8 +288,8 @@ DN_U32 const DN_V4_A_MASK_U32 = 0x000000FF;
|
||||
#define DN_V4F32_From1N(x) DN_LITERAL(DN_V4F32){{(DN_F32)(x), (DN_F32)(x), (DN_F32)(x), (DN_F32)(x)}}
|
||||
#define DN_V4F32_From4N(x, y, z, w) DN_LITERAL(DN_V4F32){{(DN_F32)(x), (DN_F32)(y), (DN_F32)(z), (DN_F32)(w)}}
|
||||
#define DN_V4F32_FromV3And1N(xyz, w) DN_LITERAL(DN_V4F32){{xyz.x, xyz.y, xyz.z, w}}
|
||||
#define DN_V4F32_FromRGBAU8(r, g, b, a) DN_LITERAL(DN_V4F32){r / 255.f, g / 255.f, b / 255.f, a / 255.f}
|
||||
#define DN_V4F32_FromRGBU8(r, g, b) DN_LITERAL(DN_V4F32){r / 255.f, g / 255.f, b / 255.f, 1.f}
|
||||
#define DN_V4F32_FromRGBAU8(r, g, b, a) DN_LITERAL(DN_V4F32){{r / 255.f, g / 255.f, b / 255.f, a / 255.f}}
|
||||
#define DN_V4F32_FromRGBU8(r, g, b) DN_LITERAL(DN_V4F32){{r / 255.f, g / 255.f, b / 255.f, 1.f}}
|
||||
DN_API DN_V4F32 DN_V4F32_FromRGBU32(DN_U32 u32);
|
||||
DN_API DN_V4F32 DN_V4F32_FromRGBAU32(DN_U32 u32);
|
||||
#define DN_V4F32_FromV4Alpha(v4, alpha) DN_V4F32_FromV3And1N(v4.xyz, alpha)
|
||||
@@ -331,9 +331,7 @@ DN_API DN_M4 DN_M4_AddF (DN_M4 lhs, DN_
|
||||
DN_API DN_M4 DN_M4_SubF (DN_M4 lhs, DN_F32 rhs);
|
||||
DN_API DN_M4 DN_M4_MulF (DN_M4 lhs, DN_F32 rhs);
|
||||
DN_API DN_M4 DN_M4_DivF (DN_M4 lhs, DN_F32 rhs);
|
||||
#if !defined(DN_NO_FSTR8)
|
||||
DN_API DN_FStr8<256> DN_M4_ColumnMajorString (DN_M4 mat);
|
||||
#endif
|
||||
DN_API DN_Str8x256 DN_M4_ColumnMajorString (DN_M4 mat);
|
||||
#endif // !defined(DN_NO_M4)
|
||||
// NOTE: DN_M2x3 ///////////////////////////////////////////////////////////////////////////////////
|
||||
DN_API bool operator== (DN_M2x3 const &lhs, DN_M2x3 const &rhs);
|
||||
|
||||
@@ -34,7 +34,7 @@ static DN_NET2Response DN_NET2_WaitForAnyResponse(DN_NET2Core *net, DN_Arena *ar
|
||||
|
||||
// NOTE: Deallocate the memory used in the request
|
||||
DN_Arena_PopTo(&request->arena, request->start_response_arena_pos);
|
||||
request->response.body = DN_Str8Builder_Init(&request->arena);
|
||||
request->response.body = DN_Str8Builder_FromArena(&request->arena);
|
||||
|
||||
// NOTE: For websocket requests, notify the NET thread we've read data from it and it can go
|
||||
// back to polling the socket for more data
|
||||
@@ -70,7 +70,7 @@ static DN_NET2Response DN_NET2_WaitForResponse(DN_NET2Core *net, DN_NET2Request
|
||||
|
||||
// NOTE: Deallocate the memory used in the request
|
||||
DN_Arena_PopTo(&request_ptr->arena, request_ptr->start_response_arena_pos);
|
||||
request_ptr->response.body = DN_Str8Builder_Init(&request_ptr->arena);
|
||||
request_ptr->response.body = DN_Str8Builder_FromArena(&request_ptr->arena);
|
||||
|
||||
// NOTE: Decrement the global completion tracking semaphore (this is so that if you waited on
|
||||
// the net object's semaphore, you don't get a phantom wakeup because this function already
|
||||
@@ -267,12 +267,12 @@ static int32_t DN_NET2_ThreadEntryPoint_(DN_OSThread *thread)
|
||||
if (get_result == CURLE_OK) {
|
||||
request->response.status = DN_NET2RequestStatus_HTTPReceived;
|
||||
} else {
|
||||
request->response.error = DN_Str8_InitF(&request->arena, "Failed to get HTTP response status (CURL %d): %s", msg->data.result, curl_easy_strerror(get_result));
|
||||
request->response.error = DN_Str8_FromF(&request->arena, "Failed to get HTTP response status (CURL %d): %s", msg->data.result, curl_easy_strerror(get_result));
|
||||
request->response.status = DN_NET2RequestStatus_Error;
|
||||
}
|
||||
} else {
|
||||
request->response.status = DN_NET2RequestStatus_Error;
|
||||
request->response.error = DN_Str8_InitF(&request->arena,
|
||||
request->response.error = DN_Str8_FromF(&request->arena,
|
||||
"Net request to '%.*s' failed (CURL %d): %s",
|
||||
DN_STR_FMT(request->url),
|
||||
msg->data.result,
|
||||
@@ -364,7 +364,7 @@ static int32_t DN_NET2_ThreadEntryPoint_(DN_OSThread *thread)
|
||||
request->response.status = DN_NET2RequestStatus_WSReceived;
|
||||
if (receive_result != CURLE_OK) {
|
||||
request->response.status = DN_NET2RequestStatus_Error;
|
||||
request->response.error = DN_Str8_InitF(&request->arena,
|
||||
request->response.error = DN_Str8_FromF(&request->arena,
|
||||
"Websocket failed to receive data for '%.*s' (CURL %d): %s",
|
||||
DN_STR_FMT(request->url),
|
||||
receive_result,
|
||||
@@ -385,7 +385,7 @@ static void DN_NET2_Init(DN_NET2Core *net, char *ring_base, DN_USize ring_size,
|
||||
{
|
||||
net->base = base;
|
||||
net->base_size = base_size;
|
||||
net->arena = DN_Arena_InitFromBuffer(net->base, net->base_size, DN_ArenaFlags_Nil);
|
||||
net->arena = DN_Arena_FromBuffer(net->base, net->base_size, DN_ArenaFlags_Nil);
|
||||
net->ring.base = ring_base;
|
||||
net->ring.size = ring_size;
|
||||
net->ring_mutex = DN_OS_MutexInit();
|
||||
@@ -480,7 +480,7 @@ static DN_NET2Request DN_NET2_DoRequest_(DN_NET2Core *net, DN_Str8 url, DN_Str8
|
||||
if (request) {
|
||||
result.handle = DN_CAST(DN_U64) request;
|
||||
if (!request->arena.curr)
|
||||
request->arena = DN_Arena_InitFromOSVMem(DN_Megabytes(1), DN_Kilobytes(1), DN_ArenaFlags_Nil);
|
||||
request->arena = DN_Arena_FromVMem(DN_Megabytes(1), DN_Kilobytes(1), DN_ArenaFlags_Nil);
|
||||
|
||||
request->type = type;
|
||||
request->gen = DN_Max(request->gen + 1, 1);
|
||||
@@ -503,7 +503,7 @@ static DN_NET2Request DN_NET2_DoRequest_(DN_NET2Core *net, DN_Str8 url, DN_Str8
|
||||
}
|
||||
}
|
||||
|
||||
request->response.body = DN_Str8Builder_Init(&request->arena);
|
||||
request->response.body = DN_Str8Builder_FromArena(&request->arena);
|
||||
request->completion_sem = DN_OS_SemaphoreInit(0);
|
||||
request->start_response_arena_pos = DN_Arena_Pos(&request->arena);
|
||||
|
||||
|
||||
+30
-49
@@ -316,7 +316,7 @@ static DN_UTCore DN_Tests_Arena()
|
||||
for (DN_UT_Test(&result, "Reused memory is zeroed out")) {
|
||||
uint8_t alignment = 1;
|
||||
DN_USize alloc_size = DN_Kilobytes(128);
|
||||
DN_Arena arena = DN_Arena_InitFromOSVMem(0, 0, DN_ArenaFlags_Nil);
|
||||
DN_Arena arena = DN_Arena_FromVMem(0, 0, DN_ArenaFlags_Nil);
|
||||
DN_DEFER
|
||||
{
|
||||
DN_Arena_Deinit(&arena);
|
||||
@@ -345,7 +345,7 @@ static DN_UTCore DN_Tests_Arena()
|
||||
|
||||
for (DN_UT_Test(&result, "Test arena grows naturally, 1mb + 4mb")) {
|
||||
// NOTE: Allocate 1mb, then 4mb, this should force the arena to grow
|
||||
DN_Arena arena = DN_Arena_InitFromOSVMem(DN_Megabytes(2), DN_Megabytes(2), DN_ArenaFlags_Nil);
|
||||
DN_Arena arena = DN_Arena_FromVMem(DN_Megabytes(2), DN_Megabytes(2), DN_ArenaFlags_Nil);
|
||||
DN_DEFER
|
||||
{
|
||||
DN_Arena_Deinit(&arena);
|
||||
@@ -369,7 +369,7 @@ static DN_UTCore DN_Tests_Arena()
|
||||
}
|
||||
|
||||
for (DN_UT_Test(&result, "Test arena grows naturally, 1mb, temp memory 4mb")) {
|
||||
DN_Arena arena = DN_Arena_InitFromOSVMem(DN_Megabytes(2), DN_Megabytes(2), DN_ArenaFlags_Nil);
|
||||
DN_Arena arena = DN_Arena_FromVMem(DN_Megabytes(2), DN_Megabytes(2), DN_ArenaFlags_Nil);
|
||||
DN_DEFER
|
||||
{
|
||||
DN_Arena_Deinit(&arena);
|
||||
@@ -414,79 +414,79 @@ static DN_UTCore DN_Tests_Bin()
|
||||
DN_UT_LogF(&test, "DN_Bin\n");
|
||||
{
|
||||
for (DN_UT_Test(&test, "Convert 0x123")) {
|
||||
uint64_t result = DN_CVT_HexToU64(DN_STR8("0x123"));
|
||||
uint64_t result = DN_CVT_U64FromHex(DN_STR8("0x123"));
|
||||
DN_UT_AssertF(&test, result == 0x123, "result: %" PRIu64, result);
|
||||
}
|
||||
|
||||
for (DN_UT_Test(&test, "Convert 0xFFFF")) {
|
||||
uint64_t result = DN_CVT_HexToU64(DN_STR8("0xFFFF"));
|
||||
uint64_t result = DN_CVT_U64FromHex(DN_STR8("0xFFFF"));
|
||||
DN_UT_AssertF(&test, result == 0xFFFF, "result: %" PRIu64, result);
|
||||
}
|
||||
|
||||
for (DN_UT_Test(&test, "Convert FFFF")) {
|
||||
uint64_t result = DN_CVT_HexToU64(DN_STR8("FFFF"));
|
||||
uint64_t result = DN_CVT_U64FromHex(DN_STR8("FFFF"));
|
||||
DN_UT_AssertF(&test, result == 0xFFFF, "result: %" PRIu64, result);
|
||||
}
|
||||
|
||||
for (DN_UT_Test(&test, "Convert abCD")) {
|
||||
uint64_t result = DN_CVT_HexToU64(DN_STR8("abCD"));
|
||||
uint64_t result = DN_CVT_U64FromHex(DN_STR8("abCD"));
|
||||
DN_UT_AssertF(&test, result == 0xabCD, "result: %" PRIu64, result);
|
||||
}
|
||||
|
||||
for (DN_UT_Test(&test, "Convert 0xabCD")) {
|
||||
uint64_t result = DN_CVT_HexToU64(DN_STR8("0xabCD"));
|
||||
uint64_t result = DN_CVT_U64FromHex(DN_STR8("0xabCD"));
|
||||
DN_UT_AssertF(&test, result == 0xabCD, "result: %" PRIu64, result);
|
||||
}
|
||||
|
||||
for (DN_UT_Test(&test, "Convert 0x")) {
|
||||
uint64_t result = DN_CVT_HexToU64(DN_STR8("0x"));
|
||||
uint64_t result = DN_CVT_U64FromHex(DN_STR8("0x"));
|
||||
DN_UT_AssertF(&test, result == 0x0, "result: %" PRIu64, result);
|
||||
}
|
||||
|
||||
for (DN_UT_Test(&test, "Convert 0X")) {
|
||||
uint64_t result = DN_CVT_HexToU64(DN_STR8("0X"));
|
||||
uint64_t result = DN_CVT_U64FromHex(DN_STR8("0X"));
|
||||
DN_UT_AssertF(&test, result == 0x0, "result: %" PRIu64, result);
|
||||
}
|
||||
|
||||
for (DN_UT_Test(&test, "Convert 3")) {
|
||||
uint64_t result = DN_CVT_HexToU64(DN_STR8("3"));
|
||||
uint64_t result = DN_CVT_U64FromHex(DN_STR8("3"));
|
||||
DN_UT_AssertF(&test, result == 3, "result: %" PRIu64, result);
|
||||
}
|
||||
|
||||
for (DN_UT_Test(&test, "Convert f")) {
|
||||
uint64_t result = DN_CVT_HexToU64(DN_STR8("f"));
|
||||
uint64_t result = DN_CVT_U64FromHex(DN_STR8("f"));
|
||||
DN_UT_AssertF(&test, result == 0xf, "result: %" PRIu64, result);
|
||||
}
|
||||
|
||||
for (DN_UT_Test(&test, "Convert g")) {
|
||||
uint64_t result = DN_CVT_HexToU64(DN_STR8("g"));
|
||||
uint64_t result = DN_CVT_U64FromHex(DN_STR8("g"));
|
||||
DN_UT_AssertF(&test, result == 0, "result: %" PRIu64, result);
|
||||
}
|
||||
|
||||
for (DN_UT_Test(&test, "Convert -0x3")) {
|
||||
uint64_t result = DN_CVT_HexToU64(DN_STR8("-0x3"));
|
||||
uint64_t result = DN_CVT_U64FromHex(DN_STR8("-0x3"));
|
||||
DN_UT_AssertF(&test, result == 0, "result: %" PRIu64, result);
|
||||
}
|
||||
|
||||
uint32_t number = 0xd095f6;
|
||||
for (DN_UT_Test(&test, "Convert %x to string", number)) {
|
||||
DN_Str8 number_hex = DN_CVT_BytesToHex(tmem.arena, &number, sizeof(number));
|
||||
DN_Str8 number_hex = DN_CVT_HexFromBytes(tmem.arena, &number, sizeof(number));
|
||||
DN_UT_AssertF(&test, DN_Str8_Eq(number_hex, DN_STR8("f695d000")), "number_hex=%.*s", DN_STR_FMT(number_hex));
|
||||
}
|
||||
|
||||
number = 0xf6ed00;
|
||||
for (DN_UT_Test(&test, "Convert %x to string", number)) {
|
||||
DN_Str8 number_hex = DN_CVT_BytesToHex(tmem.arena, &number, sizeof(number));
|
||||
DN_Str8 number_hex = DN_CVT_HexFromBytes(tmem.arena, &number, sizeof(number));
|
||||
DN_UT_AssertF(&test, DN_Str8_Eq(number_hex, DN_STR8("00edf600")), "number_hex=%.*s", DN_STR_FMT(number_hex));
|
||||
}
|
||||
|
||||
DN_Str8 hex = DN_STR8("0xf6ed00");
|
||||
for (DN_UT_Test(&test, "Convert %.*s to bytes", DN_STR_FMT(hex))) {
|
||||
DN_Str8 bytes = DN_CVT_HexToBytes(tmem.arena, hex);
|
||||
DN_Str8 bytes = DN_CVT_BytesFromHex(tmem.arena, hex);
|
||||
DN_UT_AssertF(&test,
|
||||
DN_Str8_Eq(bytes, DN_STR8("\xf6\xed\x00")),
|
||||
"number_hex=%.*s",
|
||||
DN_STR_FMT(DN_CVT_BytesToHex(tmem.arena, bytes.data, bytes.size)));
|
||||
DN_STR_FMT(DN_CVT_HexFromBytes(tmem.arena, bytes.data, bytes.size)));
|
||||
}
|
||||
}
|
||||
return test;
|
||||
@@ -808,7 +808,7 @@ static DN_UTCore DN_Tests_BaseContainers()
|
||||
{
|
||||
DN_OSTLSTMem tmem = DN_OS_TLSTMem(nullptr);
|
||||
{
|
||||
DN_Arena arena = DN_Arena_InitFromOSVMem(0, 0, DN_ArenaFlags_Nil);
|
||||
DN_Arena arena = DN_Arena_FromVMem(0, 0, DN_ArenaFlags_Nil);
|
||||
uint32_t const MAP_SIZE = 64;
|
||||
DN_DSMap<uint64_t> map = DN_DSMap_Init<uint64_t>(&arena, MAP_SIZE, DN_DSMapFlags_Nil);
|
||||
DN_DEFER
|
||||
@@ -861,7 +861,7 @@ static DN_UTCore DN_Tests_BaseContainers()
|
||||
}
|
||||
|
||||
DN_ArenaTempMemScope temp_mem_scope = DN_ArenaTempMemScope(tmem.arena);
|
||||
DN_Arena arena = DN_Arena_InitFromOSVMem(0, 0, DN_ArenaFlags_Nil);
|
||||
DN_Arena arena = DN_Arena_FromVMem(0, 0, DN_ArenaFlags_Nil);
|
||||
uint32_t const MAP_SIZE = 64;
|
||||
DN_DSMap<uint64_t> map = DN_DSMap_Init<uint64_t>(&arena, MAP_SIZE, DN_DSMapFlags_Nil);
|
||||
DN_DEFER
|
||||
@@ -1332,24 +1332,6 @@ static DN_UTCore DN_Tests_BaseContainers()
|
||||
return result;
|
||||
}
|
||||
|
||||
static DN_UTCore DN_Tests_FStr8()
|
||||
{
|
||||
DN_UTCore result = DN_UT_Init();
|
||||
DN_UT_LogF(&result, "DN_FStr8\n");
|
||||
{
|
||||
for (DN_UT_Test(&result, "Append too much fails")) {
|
||||
DN_FStr8<4> str = {};
|
||||
DN_UT_Assert(&result, !DN_FStr8_Add(&str, DN_STR8("abcde")));
|
||||
}
|
||||
|
||||
for (DN_UT_Test(&result, "Append format string too much fails")) {
|
||||
DN_FStr8<4> str = {};
|
||||
DN_UT_Assert(&result, !DN_FStr8_AddF(&str, "abcde"));
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
static DN_UTCore DN_Tests_Intrinsics()
|
||||
{
|
||||
DN_UTCore result = DN_UT_Init();
|
||||
@@ -1428,8 +1410,8 @@ static DN_UTCore DN_Tests_Intrinsics()
|
||||
|
||||
#if defined(DN_UNIT_TESTS_WITH_KECCAK)
|
||||
DN_GCC_WARNING_PUSH
|
||||
DN_GCC_WARNING_DISABLE(-Wunused - parameter)
|
||||
DN_GCC_WARNING_DISABLE(-Wsign - compare)
|
||||
DN_GCC_WARNING_DISABLE(-Wunused-parameter)
|
||||
DN_GCC_WARNING_DISABLE(-Wsign-compare)
|
||||
|
||||
DN_MSVC_WARNING_PUSH
|
||||
DN_MSVC_WARNING_DISABLE(4244)
|
||||
@@ -1629,7 +1611,7 @@ DN_Str8 const DN_UT_HASH_STRING_[] =
|
||||
void DN_Tests_KeccakDispatch_(DN_UTCore *test, int hash_type, DN_Str8 input)
|
||||
{
|
||||
DN_OSTLSTMem tmem = DN_OS_TLSTMem(nullptr);
|
||||
DN_Str8 input_hex = DN_CVT_BytesToHex(tmem.arena, input.data, input.size);
|
||||
DN_Str8 input_hex = DN_CVT_HexFromBytes(tmem.arena, input.data, input.size);
|
||||
|
||||
switch (hash_type) {
|
||||
case Hash_SHA3_224: {
|
||||
@@ -2105,7 +2087,7 @@ static DN_UTCore DN_Tests_Str8()
|
||||
|
||||
for (DN_UT_Test(&result, "Initialise with format string")) {
|
||||
DN_OSTLSTMem tmem = DN_OS_TLSTMem(nullptr);
|
||||
DN_Str8 string = DN_Str8_InitF(tmem.arena, "%s", "AB");
|
||||
DN_Str8 string = DN_Str8_FromF(tmem.arena, "%s", "AB");
|
||||
DN_UT_AssertF(&result, string.size == 2, "size: %zu", string.size);
|
||||
DN_UT_AssertF(&result, string.data[0] == 'A', "string[0]: %c", string.data[0]);
|
||||
DN_UT_AssertF(&result, string.data[1] == 'B', "string[1]: %c", string.data[1]);
|
||||
@@ -2115,7 +2097,7 @@ static DN_UTCore DN_Tests_Str8()
|
||||
for (DN_UT_Test(&result, "Copy string")) {
|
||||
DN_OSTLSTMem tmem = DN_OS_TLSTMem(nullptr);
|
||||
DN_Str8 string = DN_STR8("AB");
|
||||
DN_Str8 copy = DN_Str8_Copy(tmem.arena, string);
|
||||
DN_Str8 copy = DN_Str8_FromStr8(tmem.arena, string);
|
||||
DN_UT_AssertF(&result, copy.size == 2, "size: %zu", copy.size);
|
||||
DN_UT_AssertF(&result, copy.data[0] == 'A', "copy[0]: %c", copy.data[0]);
|
||||
DN_UT_AssertF(&result, copy.data[1] == 'B', "copy[1]: %c", copy.data[1]);
|
||||
@@ -2190,28 +2172,28 @@ static DN_UTCore DN_Tests_Str8()
|
||||
DN_UT_Assert(&result, DN_CAST(bool) str_result == false);
|
||||
}
|
||||
|
||||
// NOTE: DN_Str8_BinarySplit ///////////////////////////////////////////////////////////////////
|
||||
// NOTE: DN_Str8_BSplit ///////////////////////////////////////////////////////////////////
|
||||
{
|
||||
{
|
||||
char const *TEST_FMT = "Binary split \"%.*s\" with \"%.*s\"";
|
||||
DN_Str8 delimiter = DN_STR8("/");
|
||||
DN_Str8 input = DN_STR8("abcdef");
|
||||
for (DN_UT_Test(&result, TEST_FMT, DN_STR_FMT(input), DN_STR_FMT(delimiter))) {
|
||||
DN_Str8BinarySplitResult split = DN_Str8_BinarySplit(input, delimiter);
|
||||
DN_Str8BSplitResult split = DN_Str8_BSplit(input, delimiter);
|
||||
DN_UT_AssertF(&result, DN_Str8_Eq(split.lhs, DN_STR8("abcdef")), "[lhs=%.*s]", DN_STR_FMT(split.lhs));
|
||||
DN_UT_AssertF(&result, DN_Str8_Eq(split.rhs, DN_STR8("")), "[rhs=%.*s]", DN_STR_FMT(split.rhs));
|
||||
}
|
||||
|
||||
input = DN_STR8("abc/def");
|
||||
for (DN_UT_Test(&result, TEST_FMT, DN_STR_FMT(input), DN_STR_FMT(delimiter))) {
|
||||
DN_Str8BinarySplitResult split = DN_Str8_BinarySplit(input, delimiter);
|
||||
DN_Str8BSplitResult split = DN_Str8_BSplit(input, delimiter);
|
||||
DN_UT_AssertF(&result, DN_Str8_Eq(split.lhs, DN_STR8("abc")), "[lhs=%.*s]", DN_STR_FMT(split.lhs));
|
||||
DN_UT_AssertF(&result, DN_Str8_Eq(split.rhs, DN_STR8("def")), "[rhs=%.*s]", DN_STR_FMT(split.rhs));
|
||||
}
|
||||
|
||||
input = DN_STR8("/abcdef");
|
||||
for (DN_UT_Test(&result, TEST_FMT, DN_STR_FMT(input), DN_STR_FMT(delimiter))) {
|
||||
DN_Str8BinarySplitResult split = DN_Str8_BinarySplit(input, delimiter);
|
||||
DN_Str8BSplitResult split = DN_Str8_BSplit(input, delimiter);
|
||||
DN_UT_AssertF(&result, DN_Str8_Eq(split.lhs, DN_STR8("")), "[lhs=%.*s]", DN_STR_FMT(split.lhs));
|
||||
DN_UT_AssertF(&result, DN_Str8_Eq(split.rhs, DN_STR8("abcdef")), "[rhs=%.*s]", DN_STR_FMT(split.rhs));
|
||||
}
|
||||
@@ -2221,7 +2203,7 @@ static DN_UTCore DN_Tests_Str8()
|
||||
DN_Str8 delimiter = DN_STR8("-=-");
|
||||
DN_Str8 input = DN_STR8("123-=-456");
|
||||
for (DN_UT_Test(&result, "Binary split \"%.*s\" with \"%.*s\"", DN_STR_FMT(input), DN_STR_FMT(delimiter))) {
|
||||
DN_Str8BinarySplitResult split = DN_Str8_BinarySplit(input, delimiter);
|
||||
DN_Str8BSplitResult split = DN_Str8_BSplit(input, delimiter);
|
||||
DN_UT_AssertF(&result, DN_Str8_Eq(split.lhs, DN_STR8("123")), "[lhs=%.*s]", DN_STR_FMT(split.lhs));
|
||||
DN_UT_AssertF(&result, DN_Str8_Eq(split.rhs, DN_STR8("456")), "[rhs=%.*s]", DN_STR_FMT(split.rhs));
|
||||
}
|
||||
@@ -2474,7 +2456,6 @@ DN_TestsResult DN_Tests_RunSuite(DN_TestsPrint print)
|
||||
DN_Tests_Bin(),
|
||||
DN_Tests_BinarySearch(),
|
||||
DN_Tests_BaseContainers(),
|
||||
DN_Tests_FStr8(),
|
||||
DN_Tests_Intrinsics(),
|
||||
#if defined(DN_UNIT_TESTS_WITH_KECCAK)
|
||||
DN_Tests_Keccak(),
|
||||
|
||||
Reference in New Issue
Block a user