Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow streaming of facts into a session #97

Closed
doug-martin opened this issue Dec 30, 2013 · 5 comments
Closed

Allow streaming of facts into a session #97

doug-martin opened this issue Dec 30, 2013 · 5 comments
Assignees

Comments

@doug-martin
Copy link
Contributor

See https://groups.google.com/d/msg/nools/tkbmSt4snqI/hEsCY5qRvKIJ for a description.

@ghost ghost assigned doug-martin Dec 30, 2013
@bthibault
Copy link

Doug, where should I look in the code for this? I want to start contributing to the project

@doug-martin
Copy link
Contributor Author

I would start by looking at the executionStrategy and looking how the engines execution loop currently works. Then see if there is a way to adapt that to a streaming model.

@bthibault
Copy link

great thanks I'll start diving here and there and see if I can start getting familiar w/ the code base.

@bthibault
Copy link

I'm still looking at this as i have large numbers of facts to run against.

I'm looking at implementing the http://reactive-extensions.github.io/RxJS/ library.

I think we can do something like this :

sourceStream -> backpressure mechanism -> async stream of promises(A+spec) -> outStream

I need to research a little more on how to control the back pressure though , but the executionStrategy seems pretty straight forward

@bthibault
Copy link

hmmm.. i just found matchUntilHalt 'reactive mode' ... this essentially can take a stream and respond via a stream fact by fact. A little nicer streaming abstraction would be a nice to have, but 'streaming support' essentially already works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants