[FAST-39] Some FAST implementations include a block size that OpenFAST does not support Created: 25/Nov/11  Updated: 11/Apr/12  Resolved: 11/Apr/12

Status: Resolved
Project: OpenFAST
Component/s: Message Object Model
Affects Version/s: 1.0.2
Fix Version/s: 1.0.3

Type: Improvement Priority: Default
Reporter: Colin Crist Assignee: Jacob Northey
Resolution: Fixed Votes: 0
Labels: None
Environment:

N/A



 Description   

I am not sure how non-standard this is but some FAST implementations include a block size in the message that OpenFAST does not expect causing the codec to fail.

Below is what I have done to fix it in my local copy of the code.

I'm not sure how to handle configuration properties for the CODEC so I can make it switchable - should it hang of the Context or elsewhere?

Index: FastDecoder.java
===================================================================
— FastDecoder.java (revision 232)
+++ FastDecoder.java (working copy)
@@ -41,6 +41,7 @@
}

public Message readMessage() {
+ TypeCodec.BIT_VECTOR.decode(in) ; // Discard block size.
BitVectorValue bitVectorValue = (BitVectorValue) TypeCodec.BIT_VECTOR.decode(in);

if (bitVectorValue == null) {



 Comments   
Comment by Jacob Northey [ 11/Apr/12 ]

There is a readMessage(int offset) method in FastDecoder which can be used to skip a non-FAST header or block length.

Additionally there is a MessageBlockReader interface that can be implemented and assigned to a MessageInputStream.

Comment by Jacob Northey [ 11/Apr/12 ]

The FastDecoder.readMessage(int offset) method was added in 1.0.3.

Generated at Sat Nov 23 17:48:20 UTC 2024 using JIRA 7.5.2#75007-sha1:9f5725bb824792b3230a5d8716f0c13e296a3cae.