smalltalk
/
osmo-st-gsm
Archived
1
0
Fork 0
This repository has been archived on 2022-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
osmo-st-gsm/BSSAP.st

53 lines
1.3 KiB
Smalltalk
Raw Normal View History

Object subclass: BSSAPHelper [
<category: 'osmo-message'>
<comment: 'BSSAP message routines'>
BSSAPHelper class >> msgManagemnt [ <category: 'spec'> ^ 0 ]
BSSAPHelper class >> msgDtap [ <category: 'spec'> ^ 1 ]
BSSAPHelper class >> prependManagement: aMsg [
<category: 'creation'>
"Prepent the BSSAP Management header"
| tmp |
tmp := OrderedCollection new.
tmp add: self msgManagemnt.
tmp add: aMsg size.
aMsg prependByteArray: tmp asByteArray.
]
BSSAPHelper class >> prependDTAP: aMsg dlci: sapi [
<category: 'creation'>
"Prepend the DTAP header"
| tmp |
tmp := OrderedCollection new.
tmp add: self msgDtap.
tmp add: sapi.
tmp add: aMsg size.
aMsg prependByteArray: tmp asByteArray.
]
]
Object subclass: BSSAPManagement [
| payload |
BSSAPManagement class >> initWith: data [
^ (self new)
payload: data;
yourself.
]
payload: aPayload [
payload := aPayload.
]
writeOn: aMsg [
| dat |
aMsg putByte: BSSAPHelper msgManagemnt.
dat := payload toMessageOrByteArray.
aMsg putByte: dat size.
aMsg putByteArray: dat.
]
]