It has come to my attention that there are a number of OCTET STRINGS defined in H.245 along the lines of
"h235Key OCTET STRING (SIZE(1..65535))"
"value OCTET STRING (SIZE(1..65535))"
"certificateResponse OCTET STRING (SIZE(1..65535)) OPTIONAL"
The problem with these difinitions is that with the terminating NULL ( I think...) the lentgh goes over by one byte, a 64k block of data. The OSS compiler generates the following warning, which goes away if we change the lenth to '65534'....
"h245.asn", line 1941 (MULTIMEDIA-SYSTEM-CONTROL): C0470W: The size of the generated C structure for the SET OF or SEQUENCE OF exceeds 64K bytes and may adversely affect CPU and memory performance. Consider use of the LINKED or UNBOUNDED directive.
Comments?....fixes?......
jimt.
************************************************************************* *** +1-503-264-8816(voice) +1-503-264-3485(fax) *** *** jtoga@ideal.intel.com Intel - Hillsboro, OR. *** *** PGP keyID 36 07 86 49 7D 74 DF 57 50 CB BA 32 08 9C 7C 41*** *************************************************************************
Jim Toga wrote:
It has come to my attention that there are a number of OCTET STRINGS defined in H.245 along the lines of "h235Key OCTET STRING (SIZE(1..65535))"
[snip]
The problem with these difinitions is that with the terminating NULL ( I think...) the lentgh goes over by one byte, a 64k block of data. The OSS compiler generates the following warning, which goes away if we change the lenth to '65534'....
"h245.asn", line 1941 (MULTIMEDIA-SYSTEM-CONTROL): C0470W: The size of the generated C structure for the SET OF or SEQUENCE OF exceeds 64K bytes and may adversely affect CPU and memory performance. Consider use of the LINKED or UNBOUNDED directive.
This has nothing to do with ASN.1. The fragmentation procedure, if that's what you are concerned about, will not be invoked because the length determinant is a constrained whole number with upper-bound less than 65536. As you can see by the message, it is warning about how the OSS compiler represents this structure in memory. Certain chip architectures :-} don't like data blocks larger than 64K. I suggest you live with the warning or tell the OSS compiler to use an alternative representation. Looks like it uses a simple array of contiguous memory by default, whereas the LINKED option uses a linked list with entries representing each element of the aggregate. This is just a guess though--we don't use the OSS compiler.
-- Paul Long___________________________http://www.cmpu.net/public/plong Smith Micro Software, Inc.__________http://www.smithmicro.com/
Paul and Mike,
Thanks to both of you for pointing out my brain damaged :-) interpretation of the OSS error messages......
No problem....
jimt.
************************************************************************* *** +1-503-264-8816(voice) +1-503-264-3485(fax) *** *** jtoga@ideal.intel.com Intel - Hillsboro, OR. *** *** PGP keyID 36 07 86 49 7D 74 DF 57 50 CB BA 32 08 9C 7C 41*** *************************************************************************
participants (2)
-
Jim Toga
-
Paul Long