July 1, 2010
Report

The Raw Transfer Library

Abstract

Introduction Our system control projects are all based on a client/server model, in which full control functionality is implemented as a series of concurrently running processes that coordinate actions by passing request and response messsages back and forth.1 Overwhelmingly, message-passing is carried out through services provided by the BaseClient and BaseServer classes (from which all real clients and servers are derived), using a simple text-based encoding called Data Serialization Protocol (DSP).2 The DSP encoding scheme works well for client/server messages of up to a few tens of kilo- bytes in size (this encompasses virtually all messages). Beyond that, the task of converting message parameters into and out of a text format starts to be cumbersome. Rarely, there is a need to move very large blocks of binary data between two processes (2D detector his- tograms, which can be a quarter megabyte or bigger and contain thousands of elds, are a prime example3). For this, it is much quicker and more e*cient to send the binary data directly rather than using a DSP encoding. The Raw Transfer Library (RTL) provides this capability.

Revised: September 30, 2014 | Published: July 1, 2010

Citation

Hubbard C.W. 2010. The Raw Transfer Library Richland, WA: Pacific Northwest National Laboratory.