1package ber 2 3import "io" 4 5func readByte(reader io.Reader) (byte, error) { 6 bytes := make([]byte, 1, 1) 7 _, err := io.ReadFull(reader, bytes) 8 if err != nil { 9 if err == io.EOF { 10 return 0, io.ErrUnexpectedEOF 11 } 12 return 0, err 13 } 14 return bytes[0], nil 15} 16 17func isEOCPacket(p *Packet) bool { 18 return p != nil && 19 p.Tag == TagEOC && 20 p.ClassType == ClassUniversal && 21 p.TagType == TypePrimitive && 22 len(p.ByteValue) == 0 && 23 len(p.Children) == 0 24} 25