Angus Salkeld
7d46c9ad3f
IPC: use rb refcount to check for "connectiveness"
...
This makes it possible the detect the loss of the server
and return -ENOTCONN.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-12-16 22:09:52 +11:00
Angus Salkeld
43181d5a95
IPC: add a timeout to the client recv functions
...
Also allow the ringbuffer to pass ETIMEDOUT back to the
client applications.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-12-16 21:47:47 +11:00
Angus Salkeld
62cef166b4
IPC: improve shm performance by timing out earlier on poll()
...
My receint change adding in a call to recv_ready(, 10) was
really slowing down the shm performance.
So now I am rather retrying which doesn't slow it down
and also passes "make check".
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-12-14 22:54:16 +11:00
Angus Salkeld
7f0e653794
IPC: return the correct number of bytes sent
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-12-14 21:51:08 +11:00
Angus Salkeld
8e291c78d5
IPC: return EAGAIN from qb_ipcc_recv() if recv_ready() returns 0
...
found with corosync CTS
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-12-10 16:12:01 +11:00
Angus Salkeld
d0b14bdbdf
IPC: return -ENOTCONN when the other end exits
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-12-10 12:22:03 +11:00
Angus Salkeld
720adbdddf
IPC: add flow control & q_len to unix socket transport.
...
This uses a small (2*int32_t) shared memory segment.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-11-03 09:48:15 +11:00
Angus Salkeld
31ca215188
IPC: add support for unix sockets
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-17 14:23:53 +11:00
Angus Salkeld
e9d10dfdbe
IPC: remove flow control API and move functionality into send()
...
There is no point in a separate API.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-14 09:16:00 +11:00
Angus Salkeld
0d9f8720b9
IPC: add qb_ipcc_sendv_recv() convenience function.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-13 10:01:30 +11:00
Angus Salkeld
e1686dbd6a
IPC: add support for flowcontrol & rate limiting
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:53 +11:00
Angus Salkeld
1a13b65de1
IPC: cleanup some formatting.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:52 +11:00
Angus Salkeld
99a8264550
IPC: improve send/recv error handling
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:53:52 +11:00
Angus Salkeld
3dcd1126f6
IPC: remove qb_ipcc_event_release()
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-12 21:46:53 +11:00
Angus Salkeld
82c13bdd2b
IPC: make events always use socket notification
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:23 +11:00
Angus Salkeld
e7aad8fad5
IPC: use poll() to prevent a recv() blocking
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:23 +11:00
Angus Salkeld
e0f942bfee
IPC: teach event_recv() to take a timeout
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:23 +11:00
Angus Salkeld
c1a3b0d029
IPC: add sendv() functions to handle iovecs.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-06 20:39:23 +11:00
Angus Salkeld
a7bf0518a7
add qbdefs.h with some common defines.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-10-04 10:04:01 +11:00
Angus Salkeld
e3a6cd6ad6
Delete unchecked API (to be re-added later).
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-30 20:49:11 +10:00
Angus Salkeld
86c84f6ae0
IPC: new auth improvement and limits work around.
...
Create the queues/ringbuffers on the server so we don't
have to modify proc entries. Then chown them so that
the clients can access them.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-30 20:17:59 +10:00
Angus Salkeld
b6d4fb95b8
IPC: add events back (were dispatch messages in corosync)
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-29 14:32:51 +10:00
Angus Salkeld
64b4aac413
IPC: un-const the data pointer in recv()
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-29 14:32:51 +10:00
Angus Salkeld
b28173ee81
IPC: get shm & pmq working
...
Note: pmq needs "sudo make check"
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-07 14:11:42 +10:00
Angus Salkeld
e7de13cd9d
IPC: add a basic tx/rx test case.
...
- cleanup some printf's
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-07 08:56:38 +10:00
Angus Salkeld
eae6c35157
IPC: linux & bsd mq_open returns a poll'able file descriptor.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-06 16:50:19 +10:00
Angus Salkeld
d27e50c58a
Define new return status policy
...
Good >= 0 (0 = good, or positive value)
Bad < 0 (-errno)
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-09-06 16:49:15 +10:00
Angus Salkeld
8a6b8d78db
IPC: rewrite (simpler API & more structured layout).
...
- implement using posix message queues
- implement using sys-v message queues
- implement shared memory ringbuffers
- add auth via unix sockets
- add items to the TODO
This is still a bit rough, more work to follow...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-08-23 12:46:36 +10:00
Angus Salkeld
5221880227
automake: check for more headers
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-08-22 22:06:59 +10:00
Angus Salkeld
b8a5a74fcc
hdb: move functions into cfile
...
convert int -> int32_t
rename qb_hdb_handle_t -> qb_handle_t
rename DECLARE_HDB_DATABASE -> QB_HDB_DECLARE
rename qb_hdb_handle_database -> qb_hdb
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-06-16 09:12:20 +10:00
Angus Salkeld
87f204469a
ipc: convert int -> int32_t; unsigned int -> uint32_t
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-06-15 14:46:52 +10:00
Angus Salkeld
7deaa935c7
ipc: use a ringbuffer for requests.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-06-15 12:56:33 +10:00
Angus Salkeld
ffd5975da3
ipcc: remove unneccessry goto
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-06-15 12:56:33 +10:00
Angus Salkeld
e6d5f32f9f
Bring some changes across from corosync.
...
My coverity fixes and honzas fixes.
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-06-11 09:51:53 +10:00
Angus Salkeld
0a23eb2be1
Format all files with Lindent
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-06-10 21:42:08 +10:00
Angus Salkeld
29cee5ec5e
use new interanl logging functions
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-05-25 15:53:44 +10:00
Angus Salkeld
caecbe6542
Re-license to LGPL 2.1
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-05-25 06:11:59 +10:00
Angus Salkeld
74a7a49354
ipc: add a non-blocking send function.
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-04-29 14:47:42 +10:00
Angus Salkeld
40f235a889
libtool and code re-structure
...
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2010-04-15 23:25:29 +10:00