* [9fans] Question about o/mero -> o/live event notification mechanism @ 2012-04-30 21:54 aram 2012-05-01 8:58 ` Nemo 0 siblings, 1 reply; 4+ messages in thread From: aram @ 2012-04-30 21:54 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs Hi, i explore the UI of octopus and i try to understand how omero notifies the viewers for events. It is apparent from the documentation that the viewers "read" events from the ui/olive file. However, when i cat that file from the shell and "play" with a terminal a bit, i get no data. The terminals are updated correctly which indicates that the events are delivered. I checked the source of olive (port/live/live.b) and it simply reads (by calling updateproc(fd)) the file as expected. Obviously i am missing something important that the documentation does not cover. How can i read events posted by omero? Thanks ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [9fans] Question about o/mero -> o/live event notification mechanism 2012-04-30 21:54 [9fans] Question about o/mero -> o/live event notification mechanism aram @ 2012-05-01 8:58 ` Nemo 2012-05-02 13:56 ` aram 0 siblings, 1 reply; 4+ messages in thread From: Nemo @ 2012-05-01 8:58 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs On Apr 30, 2012, at 11:54 PM, aram wrote: > Hi, > > i explore the UI of octopus and i try to understand how omero notifies the viewers for events. > It is apparent from the documentation that the viewers "read" events from the ui/olive file. > However, when i cat that file from the shell and "play" with a terminal a bit, i get no data. > The terminals are updated correctly which indicates that the events are delivered. > I checked the source of olive (port/live/live.b) and it simply reads (by calling updateproc(fd)) the file as expected. > > Obviously i am missing something important that the documentation does not cover. > How can i read events posted by omero? > > Thanks There are two type of events. IIRC. User events like open, exec, ... are posted via o/ports, and you can read them from there. UI events are sent through a file with a protocol for o/live. (Time ago they were sent also through ports, but I think I changed that). The viewer reads a tree and then gets updates from that file. That's internal and I don't think the man page describes that. I can take a look to the source so I remember if you don't have luck with these hints. hth ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [9fans] Question about o/mero -> o/live event notification mechanism 2012-05-01 8:58 ` Nemo @ 2012-05-02 13:56 ` aram 2012-05-02 15:02 ` Nemo 0 siblings, 1 reply; 4+ messages in thread From: aram @ 2012-05-02 13:56 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs On Tue, 01 May 2012 11:58:28 +0300, Nemo <nemo@lsub.org> wrote: > > On Apr 30, 2012, at 11:54 PM, aram wrote: > >> Hi, >> >> i explore the UI of octopus and i try to understand how omero notifies >> the viewers for events. >> It is apparent from the documentation that the viewers "read" events >> from the ui/olive file. >> However, when i cat that file from the shell and "play" with a terminal >> a bit, i get no data. >> The terminals are updated correctly which indicates that the events are >> delivered. >> I checked the source of olive (port/live/live.b) and it simply reads >> (by calling updateproc(fd)) the file as expected. >> >> Obviously i am missing something important that the documentation does >> not cover. >> How can i read events posted by omero? >> >> Thanks > > There are two type of events. IIRC. > User events like open, exec, ... are posted via o/ports, and you can > read them from there. Yes, i receive successfully events targeted to applications (o/mero:.*). However ... > UI events are sent through a file with a protocol for o/live. > (Time ago they were sent also through ports, but I think I changed that). > The viewer reads a tree and then gets updates from that file. > That's internal and I don't think the man page describes that. ... i am interested for this ^^. In mero.b these events are described as # Events: # from o/mero to o/live (via merop): # "Tupdate file data" # "Ctl top" # "Ctl ins tag vers pos string" # "Ctl del tag vers pos string" I want to be able to listen precisely these events. I assume by "the viewer reads a tree and then gets updates from that file" you mean that the /mnt/ui/olive file is read? I checked the viewers code again, and it does not do anything strange or cryptic. The fact that bothers me is that by executing % cat olive I receive nothing, whereas by executing % touch /mnt/ports/listen_app_events % echo 'o/mero:.*' > listen_app_events % cat listen_app_events i receive application events (exec, close, ets) just fine. > I can take a look to the source so I remember if you don't have luck > with these hints. > > hth > > Thanks for your time. -- This => <aram@privatdemail.net> is my new email address. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [9fans] Question about o/mero -> o/live event notification mechanism 2012-05-02 13:56 ` aram @ 2012-05-02 15:02 ` Nemo 0 siblings, 0 replies; 4+ messages in thread From: Nemo @ 2012-05-02 15:02 UTC (permalink / raw) To: Fans of the OS Plan 9 from Bell Labs On May 2, 2012, at 3:56 PM, aram wrote: > % cat olive > > I receive nothing, whereas by executing Because IIRC that file is used to speak a protocol. That is, unless you issue certain requests on that file, o/mero wont reply. That's used to synchronize all o/lives so that they all perform very much like in cooperative editing environments. The ctls you saw in the comment are the protocol (merop). ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-05-02 15:02 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2012-04-30 21:54 [9fans] Question about o/mero -> o/live event notification mechanism aram 2012-05-01 8:58 ` Nemo 2012-05-02 13:56 ` aram 2012-05-02 15:02 ` Nemo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).