mirror of
https://github.com/wavetermdev/waveterm.git
synced 2025-01-08 19:38:51 +01:00
commit unused code in working version
This commit is contained in:
parent
c1b6095410
commit
0ad1d9236a
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
*~
|
||||||
|
bin/
|
||||||
|
*.out
|
||||||
|
*.log
|
||||||
|
.DS_Store
|
||||||
|
|
@ -24,6 +24,15 @@ const MaxDataBytes = 4096
|
|||||||
const FileTypePty = "ptyout"
|
const FileTypePty = "ptyout"
|
||||||
const FileTypeRun = "runout"
|
const FileTypeRun = "runout"
|
||||||
|
|
||||||
|
type Tailer struct {
|
||||||
|
Lock *sync.Mutex
|
||||||
|
WatchList map[base.CommandKey]CmdWatchEntry
|
||||||
|
Watcher *fsnotify.Watcher
|
||||||
|
Sender *packet.PacketSender
|
||||||
|
Gen FileNameGenerator
|
||||||
|
Sessions map[string]bool
|
||||||
|
}
|
||||||
|
|
||||||
type TailPos struct {
|
type TailPos struct {
|
||||||
ReqId string
|
ReqId string
|
||||||
Running bool // an active tailer sending data
|
Running bool // an active tailer sending data
|
||||||
@ -43,6 +52,7 @@ type CmdWatchEntry struct {
|
|||||||
type FileNameGenerator interface {
|
type FileNameGenerator interface {
|
||||||
PtyOutFile(ck base.CommandKey) string
|
PtyOutFile(ck base.CommandKey) string
|
||||||
RunOutFile(ck base.CommandKey) string
|
RunOutFile(ck base.CommandKey) string
|
||||||
|
SessionDir(sessionId string) string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w CmdWatchEntry) getTailPos(reqId string) (TailPos, bool) {
|
func (w CmdWatchEntry) getTailPos(reqId string) (TailPos, bool) {
|
||||||
@ -79,14 +89,6 @@ func (pos TailPos) IsCurrent(entry CmdWatchEntry) bool {
|
|||||||
return pos.TailPtyPos >= entry.FilePtyLen && pos.TailRunPos >= entry.FileRunLen
|
return pos.TailPtyPos >= entry.FilePtyLen && pos.TailRunPos >= entry.FileRunLen
|
||||||
}
|
}
|
||||||
|
|
||||||
type Tailer struct {
|
|
||||||
Lock *sync.Mutex
|
|
||||||
WatchList map[base.CommandKey]CmdWatchEntry
|
|
||||||
Watcher *fsnotify.Watcher
|
|
||||||
Sender *packet.PacketSender
|
|
||||||
Gen FileNameGenerator
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Tailer) updateTailPos_nolock(cmdKey base.CommandKey, reqId string, pos TailPos) {
|
func (t *Tailer) updateTailPos_nolock(cmdKey base.CommandKey, reqId string, pos TailPos) {
|
||||||
entry, found := t.WatchList[cmdKey]
|
entry, found := t.WatchList[cmdKey]
|
||||||
if !found {
|
if !found {
|
||||||
@ -133,10 +135,38 @@ func (t *Tailer) getEntryAndPos_nolock(cmdKey base.CommandKey, reqId string) (Cm
|
|||||||
return entry, pos, true
|
return entry, pos, true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (t *Tailer) addSessionWatcher(sessionId string) error {
|
||||||
|
t.Lock.Lock()
|
||||||
|
defer t.Lock.Unlock()
|
||||||
|
|
||||||
|
if t.Sessions[sessionId] {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
sdir := t.Gen.SessionDir(sessionId)
|
||||||
|
err := t.Watcher.Add(sdir)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
t.Sessions[sessionId] = true
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Tailer) removeSessionWatcher(sessionId string) {
|
||||||
|
t.Lock.Lock()
|
||||||
|
defer t.Lock.Unlock()
|
||||||
|
|
||||||
|
if !t.Sessions[sessionId] {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
sdir := t.Gen.SessionDir(sessionId)
|
||||||
|
t.Watcher.Remove(sdir)
|
||||||
|
}
|
||||||
|
|
||||||
func MakeTailer(sender *packet.PacketSender, gen FileNameGenerator) (*Tailer, error) {
|
func MakeTailer(sender *packet.PacketSender, gen FileNameGenerator) (*Tailer, error) {
|
||||||
rtn := &Tailer{
|
rtn := &Tailer{
|
||||||
Lock: &sync.Mutex{},
|
Lock: &sync.Mutex{},
|
||||||
WatchList: make(map[base.CommandKey]CmdWatchEntry),
|
WatchList: make(map[base.CommandKey]CmdWatchEntry),
|
||||||
|
Sessions: make(map[string]bool),
|
||||||
Sender: sender,
|
Sender: sender,
|
||||||
Gen: gen,
|
Gen: gen,
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user