Page 1 of 1

Push / Pull

PostPosted: 29 Jun 2014, 23:41
by roland.joos
Hello

It seems that for all it is clear what is the difference between push and pull mode.
Can anyone define the difference?

Re: Push / Pull

PostPosted: 30 Jun 2014, 01:14
by Martin
Hi Roland,

- In push mode the server continuously streams data (30 or 60 samples per second) and the client libraries will provide an event once it arrives.

- In pull mode your application has to "manually" request the data, e.g. send a request and the server will reply with the latest sample. You can then choose to collect data at a lower frequency, say one sample per second.

Think of it as in Push you will get notifications like text messages on the phone where as in Pull you have to run out to the mail box to see if there's any new messages.

The data provided by the two mechanisms contains the same values (estimated gaze location, pupil size etc.) In most cases you would want to use the push mode and downsample/skip samples on the application side if needed.

Does that make sense?

Re: Push / Pull

PostPosted: 30 Jun 2014, 22:58
by roland.joos
Hi Martin

Thanks for your answer.
So, to summarize, "push" means data streaming to disk and "pull" means polling for data.
Is there a simple way to tell the EyeTribe server when to start, end save data to disk at a specified file location / path (push mode)?
I would prefer to do so by python interface or by writing appropriate commands to a TCP/IP-port?
The application I would like to realize (somewhat similar I did with the SMI RED500) does data streaming to specified disk files while stimuli are presented and afterwards reads in and analyzes the data by R (r-project.org).
thanks if onyone can answer these questions too!

Re: Push / Pull

PostPosted: 03 Jul 2014, 12:18
by Martin
There's not built-in logging functionality in the server, however we supply the API Console which can save the stream to file. You can start it from the EyeTribeUI application. If you want to display a simple image and record data for it you will have to write a small application for it, or use Ogama which now have support for our tracker.