cdev-1.7.2n

This commit is contained in:
2022-12-13 12:44:04 +01:00
commit b3b88fc333
1357 changed files with 338883 additions and 0 deletions

View File

@@ -0,0 +1,240 @@
//-----------------------------------------------------------------------------
// Copyright (c) 1994,1995 Southeastern Universities Research Association,
// Continuous Electron Beam Accelerator Facility
//
// This software was developed under a United States Government license
// described in the NOTICE file included as part of this distribution.
//
// Jefferson Lab HPC Group, 12000 Jefferson Ave., Newport News, VA 23606
//-----------------------------------------------------------------------------
//
// Description:
// rsvcDataInputStream that converts a byte stream into a rsvcData
//
// Author:
// Jie Chen
// Jefferson Lab HPC Group
//
// Revision History:
// $Log: rsvcDataInputStream.java,v $
// Revision 1.1.1.1 2000/05/23 15:12:50 pal
// cdev_psi_1.7.2
//
// Revision 1.1 1999/10/18 17:12:41 chen
// *** empty log message ***
//
//
//
import java.io.*;
import java.math.*;
public class rsvcDataInputStream
{
// for 32 bit machine
public static final int _RSVC_STREAM_BYTE_UNIT = 4;
/**
* Return a long word (32 bit) aligned size from original size
*/
public static final int _RSVC_RNDUP (int x)
{
return ((x + _RSVC_STREAM_BYTE_UNIT - 1)/_RSVC_STREAM_BYTE_UNIT)
* _RSVC_STREAM_BYTE_UNIT;
}
// underlying data output stream
private DataInputStream input = null;
/**
* Construct a data output stream
*/
public rsvcDataInputStream (InputStream stream)
{
try {
input = new DataInputStream (stream);
}catch (Exception e) {
e.printStackTrace();
}
}
/**
* Read a single byte char from stream
*/
public byte readByte () throws IOException
{
int tmp;
try {
tmp = input.readInt ();
}catch (IOException e) {
throw e;
}
return (byte)tmp;
}
/**
* Read a value of short from the stream
*/
public short readShort () throws IOException
{
int tmp;
try {
tmp = input.readInt ();
}catch (IOException e) {
throw e;
}
return (short)tmp;
}
/**
* Read a value of int from stream
*/
public int readInt () throws IOException
{
int tmp;
try {
tmp = input.readInt ();
}catch (IOException e) {
throw e;
}
return tmp;
}
/**
* Read a value of long from stream
*/
public long readLong () throws IOException
{
long tmp;
try {
tmp = input.readLong ();
}catch (IOException e) {
throw e;
}
return tmp;
}
/**
* Read a value of float from stream
*/
public float readFloat () throws IOException
{
float tmp;
try {
tmp = input.readFloat ();
}catch (IOException e) {
throw e;
}
return tmp;
}
/**
* Read a value of double to stream
*/
public double readDouble () throws IOException
{
double tmp;
try {
tmp = input.readDouble ();
}catch (IOException e) {
throw e;
}
return tmp;
}
/**
* Read a string as series of byte using default encoding
*/
public String readString () throws IOException
{
int len, rlen, i;
// first find out str size
try {
len = input.readInt ();
}catch (IOException e) {
throw e;
}
// readout next bytes of strlen
byte[] tmp = new byte[len];
try {
input.readFully (tmp, 0, len);
}catch (IOException e) {
throw e;
}
// find out read length of this string by looking for the first 0
// in this byte array
rlen = 0;
for (i = 0; i < len; i++) {
if (tmp[i] == 0)
break;
}
rlen = i;
return new String (tmp, 0, rlen);
}
/**
* Read a series of byte
*/
public byte[] readBytes () throws IOException
{
int len;
try {
len = input.readInt();
}catch (IOException e){
throw e;
}
byte[] result = new byte[len];
try {
input.readFully (result, 0, len);
}catch (IOException e){
throw e;
}
return result;
}
/**
* Read a number of bytes: blocked until all bytes are read
*/
public byte[] readBytes (int len) throws IOException
{
byte[] result = new byte[len];
try {
input.readFully (result, 0, len);
}catch (IOException e){
throw e;
}
return result;
}
/**
* Read a time stamp from the stream
*/
public rsvcTimeStamp readTimeStamp () throws IOException
{
rsvcTimeStamp ts = new rsvcTimeStamp ();
try {
ts.secPastEpoch = input.readInt();
}catch (IOException e){
throw e;
}
try{
ts.nsec = input.readInt();
}catch (IOException e){
throw e;
}
return ts;
}
}