summaryrefslogtreecommitdiff
path: root/src/lib/shm_rdrbuff.c
diff options
context:
space:
mode:
authordimitri staessens <dimitri.staessens@intec.ugent.be>2017-02-06 21:48:00 +0100
committerdimitri staessens <dimitri.staessens@intec.ugent.be>2017-02-07 11:09:50 +0100
commitd64f05e8bf1277132b648bda2e1175ad8c1d2d5c (patch)
tree2c5bb331021e0b15eb43827d05cd06082b6c8edb /src/lib/shm_rdrbuff.c
parent373efaf24d3600fe4dadf6bfaaee8d19e2ec32d7 (diff)
downloadouroboros-d64f05e8bf1277132b648bda2e1175ad8c1d2d5c.tar.gz
ouroboros-d64f05e8bf1277132b648bda2e1175ad8c1d2d5c.zip
ipcpd: Revise PCI manipulation in normal
The pci function will store offsets to avoid having to recalculate them every time. TTL handling is removed from the fmgr, the TTL is automatically decreased when deserializing the PCI (or set to 1 if there is no TTL present so the PDU will be forwarded). The deserialisation function now takes a pointer to a struct pci as input to avoid memory allocation and release each time a PDU is processed. Some checks have been replaced with assert() and return values replaced with void where it makes sense.
Diffstat (limited to 'src/lib/shm_rdrbuff.c')
-rw-r--r--src/lib/shm_rdrbuff.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/lib/shm_rdrbuff.c b/src/lib/shm_rdrbuff.c
index ce81d171..55047aa5 100644
--- a/src/lib/shm_rdrbuff.c
+++ b/src/lib/shm_rdrbuff.c
@@ -619,28 +619,20 @@ uint8_t * shm_du_buff_tail_alloc(struct shm_du_buff * sdb,
return buf;
}
-int shm_du_buff_head_release(struct shm_du_buff * sdb,
- size_t size)
+void shm_du_buff_head_release(struct shm_du_buff * sdb,
+ size_t size)
{
assert(sdb);
-
- if (size > sdb->du_tail - sdb->du_head)
- return -EOVERFLOW;
+ assert(!(size > sdb->du_tail - sdb->du_head));
sdb->du_head += size;
-
- return 0;
}
-int shm_du_buff_tail_release(struct shm_du_buff * sdb,
- size_t size)
+void shm_du_buff_tail_release(struct shm_du_buff * sdb,
+ size_t size)
{
assert(sdb);
-
- if (size > sdb->du_tail - sdb->du_head)
- return -EOVERFLOW;
+ assert(!(size > sdb->du_tail - sdb->du_head));
sdb->du_tail -= size;
-
- return 0;
}