1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00

node: fix vecotrize feature (closes #274)

This commit is contained in:
Steffen Vogel 2020-09-03 15:03:18 +02:00
parent c3889beb38
commit f892e5e29f
2 changed files with 6 additions and 8 deletions

View file

@ -427,7 +427,8 @@ int node_destroy(struct vnode *n)
int node_read(struct vnode *n, struct sample *smps[], unsigned cnt, unsigned *release)
{
int toread, readd, vect, nread = 0;
int toread, readd, nread = 0;
unsigned vect;
assert(node_type(n)->read);
@ -441,7 +442,7 @@ int node_read(struct vnode *n, struct sample *smps[], unsigned cnt, unsigned *re
vect = cnt;
while (cnt - nread > 0) {
toread = MIN(cnt - nread, node_type(n)->vectorize);
toread = MIN(cnt - nread, vect);
readd = node_type(n)->read(n, &smps[nread], toread, release);
if (readd < 0)
return readd;
@ -471,7 +472,8 @@ int node_read(struct vnode *n, struct sample *smps[], unsigned cnt, unsigned *re
int node_write(struct vnode *n, struct sample *smps[], unsigned cnt, unsigned *release)
{
int tosend, sent, vect, nsent = 0;
int tosend, sent, nsent = 0;
unsigned vect;
assert(node_type(n)->write);
@ -492,7 +494,7 @@ int node_write(struct vnode *n, struct sample *smps[], unsigned cnt, unsigned *r
vect = cnt;
while (cnt - nsent > 0) {
tosend = MIN(cnt - nsent, node_type(n)->vectorize);
tosend = MIN(cnt - nsent, vect);
sent = node_type(n)->write(n, &smps[nsent], tosend, release);
if (sent < 0)
return sent;

View file

@ -174,10 +174,6 @@ int node_direction_check(struct vnode_direction *nd, struct vnode *n)
if (nd->vectorize <= 0)
error("Invalid setting 'vectorize' with value %d for node %s. Must be natural number!", nd->vectorize, node_name(n));
if (node_type(n)->vectorize && node_type(n)->vectorize < nd->vectorize)
error("Invalid value for setting 'vectorize'. Node type requires a number smaller than %d!",
node_type(n)->vectorize);
nd->state = State::CHECKED;
return 0;