i'd recommend studying 9pserve.c in plan9port. On Tue, Feb 2, 2016 at 10:17 AM Tiago Natel wrote: > 2016-02-01 20:03 GMT-02:00 : > >> > Is there a reason why lib9p doesn't have a clunk function pointer in >> Srv struct? >> >> what about Srv.destroyfid()? >> >> Destroyfid >> When a Fid's reference count drops to zero (i.e., it >> has been clunked and there are no outstanding requests >> referring to it), destroyfid is called to allow the >> program to dispose of the fid->aux pointer. >> >> > Thanks for your help! I'd tried using destroyfid to achieve what I need > but failed. I tried today again implement with destroyfid but realized that > it will not fully support what I need. > > I'm using a file server for exchange data between 9P clients. When a new > file is created, I create a plan9 channel and two threads (one for handle > reads and other for writes), a write(2) to the file is translated into a > sendp and a read(2) is translated into a recvp on the channel. The channel > could be buffered or not, and then I want to maintain data allocated (aux > related data) anyway, because the file server is a queueing system when > channel have a buffer bigger than zero. > > Apart from that, I want to know how many clients have each file opened to > update my stats file. It's possible in any way without a clunk callback? > > I'm trying to replace a rabbitmq server with this system, but I have a > requirement for some way of monitoring of queues size, performance of > channels, number of clients connected to each channel (file on dchan), etc, > I need this kind of information for make a comparison with the current > queue system... > > Thanks! > > -- >> cinap >> >>