mirror of
				https://github.com/onyx-and-iris/vbantxt.git
				synced 2025-11-03 23:11:48 +00:00 
			
		
		
		
	Compare commits
	
		
			No commits in common. "e36af2c05948a334be046acb131ae420c998a71b" and "d72c6a2d17824627345a12b671886287e4550396" have entirely different histories.
		
	
	
		
			e36af2c059
			...
			d72c6a2d17
		
	
		
@ -11,12 +11,6 @@ Before any major/minor/patch bump all unit tests will be run to verify they pass
 | 
			
		||||
 | 
			
		||||
-   [x]
 | 
			
		||||
 | 
			
		||||
# [0.2.1] - 2024-11-07
 | 
			
		||||
 | 
			
		||||
### Fixed
 | 
			
		||||
 | 
			
		||||
-   {packet}.header() now uses a reusable buffer.
 | 
			
		||||
 | 
			
		||||
# [0.2.0] - 2024-10-27
 | 
			
		||||
 | 
			
		||||
### Added
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										35
									
								
								packet.go
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								packet.go
									
									
									
									
									
								
							@ -1,7 +1,6 @@
 | 
			
		||||
package vbantxt
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"encoding/binary"
 | 
			
		||||
 | 
			
		||||
	log "github.com/sirupsen/logrus"
 | 
			
		||||
@ -18,24 +17,19 @@ var BpsOpts = []int{0, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200,
 | 
			
		||||
	1000000, 1500000, 2000000, 3000000}
 | 
			
		||||
 | 
			
		||||
type packet struct {
 | 
			
		||||
	streamname   []byte
 | 
			
		||||
	name         string
 | 
			
		||||
	bpsIndex     int
 | 
			
		||||
	channel      int
 | 
			
		||||
	framecounter []byte
 | 
			
		||||
	hbuf         *bytes.Buffer
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// newPacket returns a packet struct with default values, framecounter at 0.
 | 
			
		||||
func newPacket(streamname string) packet {
 | 
			
		||||
	streamnameBuf := make([]byte, streamNameSz)
 | 
			
		||||
	copy(streamnameBuf, streamname)
 | 
			
		||||
 | 
			
		||||
	return packet{
 | 
			
		||||
		streamname:   streamnameBuf,
 | 
			
		||||
		name:         streamname,
 | 
			
		||||
		bpsIndex:     0,
 | 
			
		||||
		channel:      0,
 | 
			
		||||
		framecounter: make([]byte, 4),
 | 
			
		||||
		hbuf:         bytes.NewBuffer(make([]byte, headerSz)),
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -49,17 +43,24 @@ func (p *packet) nbc() byte {
 | 
			
		||||
	return byte(p.channel)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// streamname defines the stream name of the text request
 | 
			
		||||
func (p *packet) streamname() []byte {
 | 
			
		||||
	b := make([]byte, streamNameSz)
 | 
			
		||||
	copy(b, p.name)
 | 
			
		||||
	return b
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// header returns a fully formed packet header
 | 
			
		||||
func (p *packet) header() []byte {
 | 
			
		||||
	p.hbuf.Reset()
 | 
			
		||||
	p.hbuf.WriteString("VBAN")
 | 
			
		||||
	p.hbuf.WriteByte(p.sr())
 | 
			
		||||
	p.hbuf.WriteByte(byte(0))
 | 
			
		||||
	p.hbuf.WriteByte(p.nbc())
 | 
			
		||||
	p.hbuf.WriteByte(byte(0x10))
 | 
			
		||||
	p.hbuf.Write(p.streamname)
 | 
			
		||||
	p.hbuf.Write(p.framecounter)
 | 
			
		||||
	return p.hbuf.Bytes()
 | 
			
		||||
	h := make([]byte, 0, headerSz)
 | 
			
		||||
	h = append(h, []byte("VBAN")...)
 | 
			
		||||
	h = append(h, p.sr())
 | 
			
		||||
	h = append(h, byte(0))
 | 
			
		||||
	h = append(h, p.nbc())
 | 
			
		||||
	h = append(h, byte(0x10))
 | 
			
		||||
	h = append(h, p.streamname()...)
 | 
			
		||||
	h = append(h, p.framecounter...)
 | 
			
		||||
	return h
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// bumpFrameCounter increments the frame counter by 1
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user