Implement a part of submit encode
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package pdu
|
||||
|
||||
import "fmt"
|
||||
|
||||
type (
|
||||
SUBMIT_SM struct {
|
||||
header PDU_HEADER
|
||||
@@ -58,16 +60,28 @@ type (
|
||||
SUBMIT_MULTI_RESP struct{}
|
||||
)
|
||||
|
||||
func (p *SUBMIT_SM) Encode() []byte {
|
||||
return []byte{}
|
||||
func (p *SUBMIT_SM) Encode() ([]byte, error) {
|
||||
buf := make([]byte, p.Size())
|
||||
err := p.EncodeInto(&buf)
|
||||
return buf, err
|
||||
}
|
||||
func (p *SUBMIT_SM) EncodeInto(buf *[]byte) {
|
||||
func (p *SUBMIT_SM) EncodeInto(buf *[]byte) error {
|
||||
if buf == nil {
|
||||
return fmt.Errorf("cannot encode SUBMIT_SM, buffer is nil")
|
||||
}
|
||||
if len(*buf) < int(p.Size()) {
|
||||
return fmt.Errorf("cannot encode SUBMIT_SM, buffer too small (%d, required %d)", len(*buf), p.Size())
|
||||
}
|
||||
|
||||
p.header.EncodeInto(buf)
|
||||
|
||||
return nil
|
||||
}
|
||||
func (p *SUBMIT_SM) Decode(data []byte) {
|
||||
}
|
||||
func (p *SUBMIT_SM) Size() uint32 {
|
||||
var size uint32
|
||||
size += 16 // header
|
||||
size += p.header.Size()
|
||||
size += uint32(len(p.service_type) * 1)
|
||||
size += 1 // source_addr_ton
|
||||
size += 1 // source_addr_npi
|
||||
|
Reference in New Issue
Block a user