spinn_storage_handlers.abstract_classes package

Submodules

spinn_storage_handlers.abstract_classes.abstract_buffered_data_storage module

class spinn_storage_handlers.abstract_classes.abstract_buffered_data_storage.AbstractBufferedDataStorage[source]

Bases: object

An object that can store and read back buffered data

close()[source]

Closes the data storage

Return type:None
Raises:spinn_storage_handlers.exceptions.DataReadException – If the data storage cannot be closed
eof()[source]

Check if the read pointer is a the end of the data storage

Returns:True if the read pointer is at the end of the data storage, False otherwise
Return type:bool
read(data_size)[source]

Read data from the data storage from the position indicated by the read pointer index

Parameters:data_size (int) – number of bytes to be read
Returns:a bytearray containing the data read
Return type:bytearray
read_all()[source]

Read all the data contained in the data storage starting from position 0 to the end

Returns:a bytearray containing the data read
Return type:bytearray
readinto(data)[source]

Read some bytes of data from the underlying storage into a pre-defined array. Will block until some bytes are available, but may not fill the array completely.

Parameters:data (bytearray) – The place where the data is to be stored
Returns:The number of bytes stored in data
Return type:int
Raises:IOError – If an error occurs reading from the underlying storage
seek_read(offset, whence=0)[source]

Set the data storage’s current read position to the offset

Parameters:
  • offset (int) – Position of the read pointer within the buffer
  • whence – One of: * os.SEEK_SET which means absolute buffer positioning (default) * os.SEEK_CUR which means seek relative to the current read position * os.SEEK_END which means seek relative to the buffer’s end
Return type:

None

seek_write(offset, whence=0)[source]

Set the data storage’s current write position to the offset

Parameters:
  • offset (int) – Position of the write pointer within the buffer
  • whence – One of: * os.SEEK_SET which means absolute buffer positioning (default) * os.SEEK_CUR which means seek relative to the current write position * os.SEEK_END which means seek relative to the buffer’s end
Return type:

None

tell_read()[source]

The current position of the read pointer

Returns:The current position of the read pointer
Return type:int
tell_write()[source]

The current position of the write pointer

Returns:The current position of the write pointer
Return type:int
write(data)[source]

Store data in the data storage in the position indicated by the write pointer index

Parameters:data (bytearray) – the data to be stored
Return type:None

spinn_storage_handlers.abstract_classes.abstract_byte_reader module

class spinn_storage_handlers.abstract_classes.abstract_byte_reader.AbstractByteReader[source]

Bases: object

An abstract reader of bytes. Note that due to endianness concerns, the methods of this reader should be used directly for the appropriate data type being read; e.g. an int should be written using read_int rather than calling read_byte 4 times unless a specific endianness is being achieved.

is_at_end()[source]

returns true if the reader is currently at the end of the byte reader

Returns:returns true if the reader is currently at the end of the byte reader false otherwise
Return type:bool
read_byte()[source]

Reads the next byte

Returns:

A byte

Return type:

int

Raises:
  • IOError – If there is an error reading from the stream
  • EOFError – If there are no more bytes to read
read_bytes(size=None)[source]

Reads an array of bytes

Parameters:

size (int) – The number of bytes to read, or None to read all of the remaining bytes

Returns:

An array of bytes

Return type:

bytearray

Raises:
  • IOError – If there is an error reading from the stream
  • EOFError – If there are too few bytes to read the requested size. Note that if there are no more bytes and size is None, an empty array will be returned
read_int()[source]

Read the next four bytes as in int value

Returns:

An int

Return type:

int

Raises:
  • IOError – If there is an error reading from the stream
  • EOFError – If there are too few bytes to read an int
read_long()[source]

Reads the next eight bytes as a long value

Returns:

A long

Return type:

long

Raises:
  • IOError – If there is an error reading from the stream
  • EOFError – If there are too few bytes to read a long
read_short()[source]

Reads the next two bytes as a short value

Returns:

A short

Return type:

int

Raises:
  • IOError – If there is an error reading from the stream
  • EOFError – If there are too few bytes to read a short

spinn_storage_handlers.abstract_classes.abstract_byte_writer module

class spinn_storage_handlers.abstract_classes.abstract_byte_writer.AbstractByteWriter[source]

Bases: object

An abstract writer of bytes. Note that due to endianness concerns, the methods of this writer should be used directly for the appropriate data type being written; e.g. an int should be written using write_int rather than calling write_byte 4 times with the parts of the int unless a specific endianness is being achieved.

get_n_bytes_written()[source]

Determines how many bytes have been written in total

Returns:The number of bytes written
Return type:int
Raises:None – No known exception is raised
write_byte(byte_value)[source]

Writes the lowest order byte of the given value

Parameters:byte_value (int) – The byte to write
Returns:Nothing is returned
Return type:None
Raises:IOError – If there is an error writing to the stream
write_bytes(byte_iterable)[source]

Writes a set of bytes

Parameters:byte_iterable (iterable of bytes) – The bytes to write
Returns:Nothing is returned
Return type:None
Raises:IOError – If there is an error writing to the stream
write_int(int_value)[source]

Writes a four byte value

Parameters:int_value (int) – The integer to write
Returns:Nothing is returned
Return type:None
Raises:IOError – If there is an error writing to the stream
write_long(long_value)[source]

Writes an eight byte value

Parameters:long_value (long) – The long to write
Returns:Nothing is returned
Return type:None
Raises:IOError – If there is an error writing to the stream
write_short(short_value)[source]

Writes the two lowest order bytes of the given value

Parameters:short_value (int) – The short to write
Returns:Nothing is returned
Return type:None
Raises:IOError – If there is an error writing to the stream

spinn_storage_handlers.abstract_classes.abstract_data_reader module

class spinn_storage_handlers.abstract_classes.abstract_data_reader.AbstractDataReader[source]

Bases: object

Abstract reader used to read data from somewhere

read(n_bytes)[source]

Read some bytes of data from the underlying storage. Will block until some bytes are available, but might not return the full n_bytes. The size of the returned array indicates how many bytes were read.

Parameters:n_bytes (int) – The number of bytes to read
Returns:An array of bytes
Return type:bytearray
Raises:IOError – If an error occurs reading from the underlying storage
readall()[source]

Read the rest of the bytes from the underlying stream

Returns:The bytes read
Return type:bytearray
Raises:IOError – If there is an error obtaining the bytes
readinto(data)[source]

Read some bytes of data from the underlying storage into a pre-defined array. Will block until some bytes are available, but may not fill the array completely.

Parameters:data (bytearray) – The place where the data is to be stored
Returns:The number of bytes stored in data
Return type:int
Raises:IOError – If an error occurs reading from the underlying storage
tell()[source]

Returns the position of the file cursor

Returns:Position of the file cursor
Return type:int

spinn_storage_handlers.abstract_classes.abstract_data_writer module

class spinn_storage_handlers.abstract_classes.abstract_data_writer.AbstractDataWriter[source]

Bases: object

Abstract writer used to write data somewhere

tell()[source]

Returns the position of the file cursor

Returns:Position of the file cursor
Return type:int
write(data)[source]

Write some bytes of data to the underlying storage. Does not return until all the bytes have been written.

Parameters:data (bytearray) – The data to write
Returns:Nothing is returned
Return type:None
Raises:IOError – If an error occurs writing to the underlying storage

Module contents