io.go 905 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package server
  2. import (
  3. "io"
  4. "time"
  5. )
  6. //IsRunning is exported
  7. func (server *Handler) IsRunning() bool {
  8. return server.isRunning
  9. }
  10. //ReadAllLog is exported
  11. func (server *Handler) ReadAllLog() []Log {
  12. return server.log
  13. }
  14. //ReadRangeLog is exported
  15. func (server *Handler) ReadRangeLog(start int, end int) []Log {
  16. return server.log[start:end]
  17. }
  18. //LenLog is exported
  19. func (server *Handler) LenLog() int {
  20. return len(server.log)
  21. }
  22. //SendCommand is exported
  23. func (server *Handler) SendCommand(command string) bool {
  24. if server.isRunning {
  25. io.WriteString(server.stdin, command+"\n")
  26. return true
  27. } else {
  28. return false
  29. }
  30. }
  31. //AddLogEntry is exported function
  32. func (server *Handler) AddLogEntry(line string) {
  33. if string(line) != "" {
  34. newLog := Log{
  35. ID: server.ID,
  36. Timestamp: time.Now(),
  37. Log: string(line),
  38. }
  39. server.ID++
  40. server.log = append(server.log, newLog)
  41. }
  42. }