Subject: [rohc] Doubt in UDVM Reg Variable state_length(SIGCOMP)

From: "Gangadharan G - TLS,Chennai" <[email-masked]>
Date: Tue, 21 Nov 2006 18:17:54 +0530

Hi,
 
RFC 3320 Section 7.2.  Accessing Stored State (Page 26) specifies that,
                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                     |         state_length                     |  8 - 9
                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 
   Addresses 6 to 9 are initialized to the length of the partial state
   identifier, followed by the state_length from the retrieved state
   item.  Both are expressed as 2-byte values.

My Question is:
 
* Whether the UDVM Reg variable state_length has to updated, after executing
the STATE-ACCESS Instruction,
   with the no. of bytes copied.
 
* If not, then how Bytecode can know about the no. of bytes copied thro' the
STATE-ACCESS Instruction.
  (Apart from the method that the Compressor has a knowledge about the
state_length of that State).
 
Thanks in Advance,
Gangadharan.
DISCLAIMER 
The contents of this e-mail and any attachment(s) are confidential and intended for the 

named recipient(s) only. It shall not attach any liability on the originator or HCL or its 

affiliates. Any views or opinions presented in this email are solely those of the author and 

may not necessarily reflect the opinions of HCL or its affiliates. Any form of reproduction, 

dissemination, copying, disclosure, modification, distribution and / or publication of this 

message without the prior written consent of the author of this e-mail is strictly 

prohibited. If you have received this email in error please delete it and notify the sender 

immediately. Before opening any mail and attachments please check them for viruses and 

defect.
_______________________________________________
Rohc mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rohc

---

From: cco <[email-masked]>
Date: Wed, 22 Nov 2006 13:22:13 +0100

> RFC 3320 Section 7.2.  Accessing Stored State (Page 26) specifies that,

cristian: hi ganga! the useful values (the first 10 bytes of the udvm
memory) are initialized with the described values _only_ when the udvm
is initialized (i.e. begining of bytecode execution).

now, partial_state_ID_length and state_length in particular are
initialized only when the sigcomp message makes a state access using the 
partial state identifier in the sigcomp message header itself (rfc3320,
Figure 3: Format of a SigComp message); i.e. bytecode is _not_ present
in the message but partial state identifier is.

by checking these values during the bytecode execution you will be able
to know whether the bytecode came on the wire or was accesesd from a
saved state. (for not saving it again in the peer compartment 
for example...)

>    with the no. of bytes copied.

cristian: it is up to you whether you do it or not; the bytecode can use the
memory at the begining as a scratchpad.

> state_length of that State).

cristian: you mean you are using STATE-ACCESS with a state_length=0
parameter and the state_length which was saved by a STATE-CREATE is used,
right?

in this case you have 2 options:

- either the bytecode knows exactly what the state_length is (for
example you are always using a fixed state_length of 1k)

- the compresor sends together with the compressed data the state length(s)
for the STATE-ACESSes in your bytecode.

bye now!
cristian