Get programmatic access
Concurrent & Multithreaded Engine
Serialized Payloads + Async Messaging
Let our engine handle queuing, pipelining, concurrency and multithreading. You focus on your domain. You will need Microsoft Bond for payload transformations and ZeroMQ for communicating messages over the wire.
The dev kit is targeted towards intermediate and advanced users. Developers unfamiliar with the basics of sockets, messaging patterns, concurrency and basic design patterns might have a bit of a learning curve but even then it shouldn’t be too difficult. The sample apps are meant to be a clear and straightforward starting point for developers.
What To Expect
We encourage you to take a look at the complete examples which you can find in your install folder. However, we want to give you an idea of the interplay between three components.
// create request ticket
var model = new pn.Lm
{
kind = pn.Kind.OLS,
is_async = false,
X = X,
Y = Y,
add_intercept = true,
x_labels = new List<string>(new string[] { }),
y_labels = new List<string>(new string[] { })
};
// serialize request
var request = Pack<pn.Lm>.Run(ref model, pc.RequestWork);
// send request payload
pc.Push(ref request);
// wait on response (number of tries).
var (rc, zf) = Receiver.Receive(Receiver.ReceiveFrom.Sync, 200);
// unpack response payload
var (metadata, response) = Unpacker<pn.O_lm>.TryUnpack(rc, ref zf);
To learn more about the SDK we encourage you to take a look at the documentation.