refactor: restructure core module into domain-driven packages with 2672 insertions and 2220 deletions
Build and run rrex2 / build (push) Failing after 41s
Build and run rrex2 / build (push) Failing after 41s
Splits monolithic core module into bounded contexts: identity, billing, and notification domains. Moves entity definitions, repository interfaces, and service implementations into separate packages. Updates import paths across 25 files to align with new package structure. Removes cross-domain coupling by extracting shared value objects into a common package.
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
#include <fcntl.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/mman.h>
|
||||
#include <unistd.h>
|
||||
|
||||
// r file memory
|
||||
typedef struct rfm_t {
|
||||
char path[4096];
|
||||
void *data;
|
||||
size_t size;
|
||||
long ptr;
|
||||
FILE *f;
|
||||
int fd;
|
||||
} rfm_t;
|
||||
|
||||
rfm_t rfm;
|
||||
bool _initialized = false;
|
||||
|
||||
void rfm_destroy(rfm_t *r) {
|
||||
if (munmap(r->data, r->size) == -1) {
|
||||
perror("munmap");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
close(rfm.fd);
|
||||
}
|
||||
|
||||
void *falloc(size_t s) {
|
||||
rfm_t *rr = &rfm;
|
||||
|
||||
printf("hier\n");
|
||||
char *data = (char *)rr->data + rfm.ptr;
|
||||
// data+= rfm.ptr;
|
||||
rfm.ptr += s;
|
||||
return data;
|
||||
}
|
||||
|
||||
void *finit(char *path, size_t size) {
|
||||
|
||||
printf("HIERR\n");
|
||||
if (!_initialized) {
|
||||
rfm.ptr = 0;
|
||||
_initialized = true;
|
||||
rfm.size = size;
|
||||
|
||||
printf("HIERR\n");
|
||||
memset(&rfm, 0, sizeof(rfm_t));
|
||||
rfm.size = size;
|
||||
rfm.ptr = 0;
|
||||
|
||||
printf("HIERR\n");
|
||||
// rfm.fd = open(path, O_RDWR);
|
||||
// ftruncate(rfm.fd, size);
|
||||
|
||||
if (path) {
|
||||
printf("HIERR\n");
|
||||
rfm.path[0] = 0;
|
||||
strcpy(rfm.path, path);
|
||||
// creat(path,F_)
|
||||
rfm.fd = open(path, O_RDWR);
|
||||
printf("OPEN %s\n", path);
|
||||
}
|
||||
if (!path) {
|
||||
rfm.f = tmpfile();
|
||||
rfm.fd = fileno(rfm.f);
|
||||
}
|
||||
// if (ftruncate(rfm.fd, size) == -1)
|
||||
// {
|
||||
// perror("ftruncate");
|
||||
// exit(EXIT_FAILURE);
|
||||
// }
|
||||
// rfensurefile(path,1024*1024);
|
||||
rfm.data = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, rfm.fd, 0);
|
||||
printf("HIERR\n");
|
||||
}
|
||||
/*
|
||||
if (rfm.data == MAP_FAILED)
|
||||
{
|
||||
perror("mmap");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
char *data = (char *)rfm.data;
|
||||
printf(data);
|
||||
if (munmap(rfm.data, size) == -1)
|
||||
{
|
||||
perror("munmap");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
fclose(rfm.f);
|
||||
*/
|
||||
}
|
||||
int main() {
|
||||
// Step 1: Create a temporary file
|
||||
finit("tast.dat", 1024 * 1024 * 100);
|
||||
printf("gaa\n");
|
||||
char *data = (char *)falloc(10);
|
||||
strcpy(data, "ab");
|
||||
char *data2 = (char *)falloc(30);
|
||||
strcpy(data2, "ff\n");
|
||||
|
||||
// for(int i = 0; i < 333333; i++)
|
||||
// strcat(data,"ggggggggggggggggg");
|
||||
|
||||
printf("%s\n", data);
|
||||
|
||||
// printf("%s\n",data);;
|
||||
|
||||
// strcpy(data2,"aaaa");
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user