withDevices :: MTaskDevice (MTaskDevice -> MTaskDevice) -> Task ()
withDevices a trans = upd (map \b->if (b == a) (trans b) b) deviceStore @! ()
-deviceTaskAcked :: MTaskDevice Int -> Task ()
-deviceTaskAcked dev i
- = withDevices dev (\d->{d&deviceTasks=ackFirst d.deviceTasks})
+deviceTaskAcked :: MTaskDevice Int Int -> Task ()
+deviceTaskAcked dev i mem
+ = withDevices dev (\d->{d
+ &deviceTasks=ackFirst d.deviceTasks
+ ,deviceSpec=Just {fromJust d.deviceSpec & bytesMemory=mem}})
where
ackFirst :: [MTaskTask] -> [MTaskTask]
ackFirst [] = []