epoch1970;603856 Wrote: > Wow, I'm impressed. > > Just from reading your documentation, and from my experience I think > these 3 notes may be relevant[...] Ok, I've changed some of my plans based on your comments. In particular:
bPipe::new($nPipeLength, [$nInit]); will initialize the pipe to !!$nInit, so you can initialize a "full" pipe. $bPipe->set([$nPosition], [$bValue]); If $nPosition is undefined, sets the entire pipe to !!$bValue, so you can re-initialize a pipe to all 1s. $bPipe->spin([$nDirection]); Pushes or pops the pipe according to the signedness of $nDirection, wrapping the to-be-discarded bit around to the top or bottom of the pipe. If $nDirection is positive, 0 or undefined, spins by left-shifting the pipe and moving the discarded top bit to the bottom. If $nDirection is negative, spins the pipe by right-shifting and setting the top bit to the discarded bottom bit. Does that address what you need out of this? The 1st version of the class will include: Pipe::new $bPipe->readbstr([$nPosition]); $bPipe->push( [$bValue] ); $bPipe->pop( [$bValue] ); $bPipe->set([$nPosition], [$bValue]); $bPipe->clear([$nPosition]); $bPipe->spin([$nDirection]); $bPipe->read([$nPosition]); $bPipe->IsEmpty(); The 2nd version may include the timer support. The 3rd version may include some of the other functions I dreamed up. Do those seem like reasonable priorities? -- gharris999 ------------------------------------------------------------------------ gharris999's Profile: http://forums.slimdevices.com/member.php?userid=115 View this thread: http://forums.slimdevices.com/showthread.php?t=49028 _______________________________________________ unix mailing list [email protected] http://lists.slimdevices.com/mailman/listinfo/unix
