i'd recommend studying 9pserve.c in plan9port.

On Tue, Feb 2, 2016 at 10:17 AM Tiago Natel <[email protected]>
wrote:

> 2016-02-01 20:03 GMT-02:00 <[email protected]>:
>
>> > 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
>>
>>

Reply via email to