packageManager to use pointer receivers everywhere
Had a problem with getting a copy because a value receiver called a
pointer receiver.
diff --git a/packet-manager.go b/packet-manager.go
index 906b3ee..8c6691c 100644
--- a/packet-manager.go
+++ b/packet-manager.go
@@ -23,8 +23,8 @@
working *sync.WaitGroup
}
-func newPktMgr(sender packetSender) packetManager {
- s := packetManager{
+func newPktMgr(sender packetSender) *packetManager {
+ s := &packetManager{
requests: make(chan requestPacket, SftpServerWorkerCount),
responses: make(chan responsePacket, SftpServerWorkerCount),
fini: make(chan struct{}),
@@ -39,19 +39,19 @@
// register incoming packets to be handled
// send id of 0 for packets without id
-func (s packetManager) incomingPacket(pkt requestPacket) {
+func (s *packetManager) incomingPacket(pkt requestPacket) {
s.working.Add(1)
s.requests <- pkt // buffer == SftpServerWorkerCount
}
// register outgoing packets as being ready
-func (s packetManager) readyPacket(pkt responsePacket) {
+func (s *packetManager) readyPacket(pkt responsePacket) {
s.responses <- pkt
s.working.Done()
}
// shut down packetManager controller
-func (s packetManager) close() {
+func (s *packetManager) close() {
// pause until current packets are processed
s.working.Wait()
close(s.fini)
diff --git a/request-server.go b/request-server.go
index 0fc3f92..07b512c 100644
--- a/request-server.go
+++ b/request-server.go
@@ -28,7 +28,7 @@
type RequestServer struct {
*serverConn
Handlers Handlers
- pktMgr packetManager
+ pktMgr *packetManager
openRequests map[string]Request
openRequestLock sync.RWMutex
handleCount int
diff --git a/server.go b/server.go
index 41b98e8..be14f62 100644
--- a/server.go
+++ b/server.go
@@ -29,7 +29,7 @@
*serverConn
debugStream io.Writer
readOnly bool
- pktMgr packetManager
+ pktMgr *packetManager
openFiles map[string]*os.File
openFilesLock sync.RWMutex
handleCount int