Browse code

core, lib, modules: restructured source code tree

- new folder src/ to hold the source code for main project applications
- main.c is in src/
- all core files are subfolder are in src/core/
- modules are in src/modules/
- libs are in src/lib/
- application Makefiles are in src/
- application binary is built in src/ (src/kamailio)

Daniel-Constantin Mierla authored on 07/12/2016 11:03:51
Showing 1 changed files
1 1
deleted file mode 100644
... ...
@@ -1,41 +0,0 @@
1
-/*
2
- * Copyright (C) 2014 Daniel-Constantin Mierla (asipto.com)
3
- *
4
- * This file is part of Kamailio, a free SIP server.
5
- *
6
- * Permission to use, copy, modify, and distribute this software for any
7
- * purpose with or without fee is hereby granted, provided that the above
8
- * copyright notice and this permission notice appear in all copies.
9
- *
10
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17
- */
18
-
19
-/** Kamailio core :: Aync tasks
20
- * @ingroup core
21
- * Module: core
22
- */
23
-
24
-#ifndef _ASYNC_TASK_H_
25
-#define _ASYNC_TASK_H_
26
-
27
-typedef void (*async_cbe_t)(void *p);
28
-
29
-typedef struct _async_task {
30
-	async_cbe_t exec;
31
-	void *param;
32
-} async_task_t;
33
-
34
-int async_task_init(void);
35
-int async_task_child_init(int rank);
36
-int async_task_initialized(void);
37
-int async_task_set_workers(int n);
38
-int async_task_push(async_task_t *task);
39
-int async_task_set_usleep(int n);
40
-
41
-#endif
Browse code

core: new parameter async_usleep

- add option to do usleep() before processing async tasks
- could help saving cpu usage on vms with immediate interruptions
triggered to recvfrom()

Daniel-Constantin Mierla authored on 04/09/2015 12:39:27
Showing 1 changed files
... ...
@@ -36,5 +36,6 @@ int async_task_child_init(int rank);
36 36
 int async_task_initialized(void);
37 37
 int async_task_set_workers(int n);
38 38
 int async_task_push(async_task_t *task);
39
+int async_task_set_usleep(int n);
39 40
 
40 41
 #endif
Browse code

core : Update include files - delete IDs, update doxygen, delete history

Olle E. Johansson authored on 03/01/2015 10:55:48
Showing 1 changed files
... ...
@@ -1,7 +1,7 @@
1
-/**
1
+/*
2 2
  * Copyright (C) 2014 Daniel-Constantin Mierla (asipto.com)
3 3
  *
4
- * This file is part of Extensible SIP Router, a free SIP server.
4
+ * This file is part of Kamailio, a free SIP server.
5 5
  *
6 6
  * Permission to use, copy, modify, and distribute this software for any
7 7
  * purpose with or without fee is hereby granted, provided that the above
... ...
@@ -16,6 +16,10 @@
16 16
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 17
  */
18 18
 
19
+/** Kamailio core :: Aync tasks
20
+ * @ingroup core
21
+ * Module: core
22
+ */
19 23
 
20 24
 #ifndef _ASYNC_TASK_H_
21 25
 #define _ASYNC_TASK_H_
Browse code

core: framework for creating asynchronous pool of workers

- dedicated group of processes that can get tasks from other processes
via memory pipe
- react immediately, no time based polling
- should reduce the need for other components to create extra processes
for special handling

Daniel-Constantin Mierla authored on 14/04/2014 12:13:36
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,36 @@
1
+/**
2
+ * Copyright (C) 2014 Daniel-Constantin Mierla (asipto.com)
3
+ *
4
+ * This file is part of Extensible SIP Router, a free SIP server.
5
+ *
6
+ * Permission to use, copy, modify, and distribute this software for any
7
+ * purpose with or without fee is hereby granted, provided that the above
8
+ * copyright notice and this permission notice appear in all copies.
9
+ *
10
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17
+ */
18
+
19
+
20
+#ifndef _ASYNC_TASK_H_
21
+#define _ASYNC_TASK_H_
22
+
23
+typedef void (*async_cbe_t)(void *p);
24
+
25
+typedef struct _async_task {
26
+	async_cbe_t exec;
27
+	void *param;
28
+} async_task_t;
29
+
30
+int async_task_init(void);
31
+int async_task_child_init(int rank);
32
+int async_task_initialized(void);
33
+int async_task_set_workers(int n);
34
+int async_task_push(async_task_t *task);
35
+
36
+#endif