Re: Newbie question


#1

Welcome mac,

your code below should be more or less equal to:
(no chance of testing obviously)

def ae_6 session
pdu, pduLen = session.read(5).unpack(‘cN’)
buffer = session.read(pduLen)

calledAETitle, callingAETitle, itemType, itemLength =
buffer.unpack(‘x4A16A16x35Cxn’)

start = 72+itemLength
contextName=buffer.slice(72…start)

while start < pduLen
start = getNextPresentationContext(start, pdu[start…-1]) + 1
print “Finish = “,start-1,” outside proc\n”
end
end

def getNextPresentationContext(start, pdu)
it, itemLength, presContextId, itemType, itemLength =
pdu.unpack(‘CxnCx3Cxn’)

start = 12 + itemLength
abstractSyntax=pdu[12…start]
itemType=pdu[start]

while itemType == 64
itemLength=pdu[start+2…start+1].unpack(‘n’)[0]
transferSyntax=pdu[start+2…start+2+itemLength]

puts "id=#{presContextId}, AbstractSyntax =#{abstractSyntax},

TxSyntax=#{transferSyntax}"
start=start+2+itemLength+1
itemType=pdu[start]
end
return start-1
end

Hope you get the idea.

cheers

Simon