Loading...
Searching...
No Matches
ServeRpcServer.cpp File Reference

Cap'n Proto RPC server using flat-array force callbacks. More...

#include "eon/ServeRpcServer.h"
#include "eon/BaseStructures.h"
#include "eon/EonLogger.h"
#include <atomic>
#include <capnp/ez-rpc.h>
#include <kj/debug.h>
#include <mutex>
#include "rgpot/rpc/Potentials.capnp.h"

Go to the source code of this file.

Namespaces

namespace  eonc
 RAII resource manager for the ARTn C library with global synchronization.

Functions

void eonc::startRpcServer (ForceCallback callback, const std::string &host, uint16_t port)
 Start a blocking Cap'n Proto RPC server using a force callback.
void eonc::startPooledRpcServer (std::vector< ForceCallback > pool, const std::string &host, uint16_t port)
 Start a blocking Cap'n Proto RPC server backed by a pool of force callbacks dispatched round-robin.

Detailed Description

Cap'n Proto RPC server using flat-array force callbacks.

This translation unit does NOT include eOn's Potential.h to avoid naming collision with the capnp-generated Potential interface class.

Uses a ForceCallback (std::function taking flat arrays) instead of rgpot::PotentialBase to avoid the AtomMatrix type collision between eOn's Eigen-based AtomMatrix and rgpot's custom AtomMatrix.

Definition in file ServeRpcServer.cpp.