diff --git a/README.md b/README.md
index 26fef510..e636e5b4 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,4 @@
-# NATS server
-
+##
[![License][License-Image]][License-Url] [![ReportCard][ReportCard-Image]][ReportCard-Url] [![Build][Build-Status-Image]][Build-Status-Url] [![Release][Release-Image]][Release-Url] [![Coverage][Coverage-Image]][Coverage-Url]
A High Performance [NATS](https://nats.io) Server written in [Go.](http://golang.org)
diff --git a/docker/Dockerfile b/docker/Dockerfile
deleted file mode 100644
index 527d6723..00000000
--- a/docker/Dockerfile
+++ /dev/null
@@ -1,8 +0,0 @@
-FROM google/golang:1.4
-
-MAINTAINER Derek Collison
-
-RUN CGO_ENABLED=0 go get -a -ldflags '-s' --installsuffix cgo github.com/apcera/gnatsd
-COPY Dockerfile.final /gopath/bin/Dockerfile
-
-CMD docker build -t apcera/gnatsd /gopath/bin
diff --git a/docker/Dockerfile.final b/docker/Dockerfile.final
deleted file mode 100644
index 7a1c851c..00000000
--- a/docker/Dockerfile.final
+++ /dev/null
@@ -1,10 +0,0 @@
-FROM scratch
-
-MAINTAINER Derek Collison
-
-ADD gnatsd /gnatsd
-
-CMD []
-ENTRYPOINT ["/gnatsd", "-p", "4222", "-m", "8333"]
-
-EXPOSE 4222 8333
diff --git a/docker/README.md b/docker/README.md
deleted file mode 100644
index 8b47342d..00000000
--- a/docker/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# [Dockerized] (http://www.docker.com) [nats](https://registry.hub.docker.com/_/nats/)
-
-This is deprecated, please use [nats-docker](https://github.com/nats-io/nats-docker)
-
-A docker image for gnatsd. This is created as a single static executable, so there are multiple passes through Docker to first build the static executable and then to package it under an empty (scratch) base image.
-
-
-
diff --git a/docker/build.sh b/docker/build.sh
deleted file mode 100755
index 02b943c9..00000000
--- a/docker/build.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-docker build -t apcera/gnatsd_build .
-docker run -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):$(which docker) -ti --name gnatsd_build apcera/gnatsd_build
-docker rm gnatsd_build
-docker rmi apcera/gnatsd_build
\ No newline at end of file
diff --git a/docker/linux_dev/Dockerfile b/docker/linux_dev/Dockerfile
deleted file mode 100644
index 9609cdf9..00000000
--- a/docker/linux_dev/Dockerfile
+++ /dev/null
@@ -1,11 +0,0 @@
-FROM ubuntu:14.04
-
-MAINTAINER Derek Collison
-
-RUN apt-get update -y && apt-get install --no-install-recommends -y -q curl build-essential ca-certificates git mercurial bzr
-RUN mkdir /goroot && curl https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz | tar xvzf - -C /goroot --strip-components=1
-RUN mkdir /gopath
-
-ENV GOROOT /goroot
-ENV GOPATH /gopath
-ENV PATH $PATH:$GOROOT/bin:$GOPATH/bin
diff --git a/docker/linux_dev/build.sh b/docker/linux_dev/build.sh
deleted file mode 100755
index d469044c..00000000
--- a/docker/linux_dev/build.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-docker build -t nats_dev .
-
diff --git a/logos/nats-server.jpg b/logos/nats-server.jpg
new file mode 100644
index 00000000..1774137b
Binary files /dev/null and b/logos/nats-server.jpg differ
diff --git a/logos/nats-server.png b/logos/nats-server.png
new file mode 100644
index 00000000..822cbd10
Binary files /dev/null and b/logos/nats-server.png differ
diff --git a/gnatsd.go b/main.go
similarity index 100%
rename from gnatsd.go
rename to main.go
diff --git a/server/monitor.go b/server/monitor.go
index 0ca495de..031cdb23 100644
--- a/server/monitor.go
+++ b/server/monitor.go
@@ -13,6 +13,8 @@ import (
"strconv"
"sync/atomic"
"time"
+
+ "github.com/nats-io/gnatsd/server/pse"
)
// Snapshot this
@@ -462,7 +464,7 @@ func updateUsage(v *Varz) {
var rss, vss int64
var pcpu float64
- procUsage(&pcpu, &rss, &vss)
+ pse.ProcUsage(&pcpu, &rss, &vss)
v.Mem = rss
v.CPU = pcpu
diff --git a/server/pse_darwin.go b/server/pse/pse_darwin.go
similarity index 87%
rename from server/pse_darwin.go
rename to server/pse/pse_darwin.go
index 9e19e3c6..31ea2755 100644
--- a/server/pse_darwin.go
+++ b/server/pse/pse_darwin.go
@@ -1,6 +1,6 @@
// Copyright 2015-2016 Apcera Inc. All rights reserved.
-package server
+package pse
import (
"errors"
@@ -9,7 +9,7 @@ import (
"os/exec"
)
-func procUsage(pcpu *float64, rss, vss *int64) error {
+func ProcUsage(pcpu *float64, rss, vss *int64) error {
pidStr := fmt.Sprintf("%d", os.Getpid())
out, err := exec.Command("ps", "o", "pcpu=,rss=,vsz=", "-p", pidStr).Output()
if err != nil {
diff --git a/server/pse_freebsd.go b/server/pse/pse_freebsd.go
similarity index 89%
rename from server/pse_freebsd.go
rename to server/pse/pse_freebsd.go
index b9b350eb..a5266f67 100644
--- a/server/pse_freebsd.go
+++ b/server/pse/pse_freebsd.go
@@ -1,6 +1,6 @@
-// Copyright 2015 Apcera Inc. All rights reserved.
+// Copyright 2015-2016 Apcera Inc. All rights reserved.
-package server
+package pse
/*
#include
@@ -56,7 +56,7 @@ import (
)
// This is a placeholder for now.
-func procUsage(pcpu *float64, rss, vss *int64) error {
+func ProcUsage(pcpu *float64, rss, vss *int64) error {
var r, v C.uint
var c C.double
diff --git a/server/pse_linux.go b/server/pse/pse_linux.go
similarity index 70%
rename from server/pse_linux.go
rename to server/pse/pse_linux.go
index e4434d05..e732d087 100644
--- a/server/pse_linux.go
+++ b/server/pse/pse_linux.go
@@ -1,6 +1,6 @@
// Copyright 2015 Apcera Inc. All rights reserved.
-package server
+package pse
import (
"bytes"
@@ -27,7 +27,7 @@ func init() {
procStatFile = fmt.Sprintf("/proc/%d/stat", os.Getpid())
}
-func procUsage(pcpu *float64, rss, vss *int64) error {
+func ProcUsage(pcpu *float64, rss, vss *int64) error {
contents, err := ioutil.ReadFile(procStatFile)
if err != nil {
return err
@@ -56,3 +56,24 @@ func procUsage(pcpu *float64, rss, vss *int64) error {
return nil
}
+
+// Ascii numbers 0-9
+const (
+ asciiZero = 48
+ asciiNine = 57
+)
+
+// parseInt64 expects decimal positive numbers. We
+// return -1 to signal error
+func parseInt64(d []byte) (n int64) {
+ if len(d) == 0 {
+ return -1
+ }
+ for _, dec := range d {
+ if dec < asciiZero || dec > asciiNine {
+ return -1
+ }
+ n = n*10 + (int64(dec) - asciiZero)
+ }
+ return n
+}
diff --git a/server/pse/pse_solaris.go b/server/pse/pse_solaris.go
new file mode 100644
index 00000000..596643c9
--- /dev/null
+++ b/server/pse/pse_solaris.go
@@ -0,0 +1,12 @@
+// Copyright 2015-2016 Apcera Inc. All rights reserved.
+
+package pse
+
+// This is a placeholder for now.
+func ProcUsage(pcpu *float64, rss, vss *int64) error {
+ *pcpu = 0.0
+ *rss = 0
+ *vss = 0
+
+ return nil
+}
diff --git a/server/pse_test.go b/server/pse/pse_test.go
similarity index 91%
rename from server/pse_test.go
rename to server/pse/pse_test.go
index d9af43c0..7a03c671 100644
--- a/server/pse_test.go
+++ b/server/pse/pse_test.go
@@ -1,6 +1,6 @@
-// Copyright 2015 Apcera Inc. All rights reserved.
+// Copyright 2015-2016 Apcera Inc. All rights reserved.
-package server
+package pse
import (
"fmt"
@@ -29,7 +29,7 @@ func TestPSEmulation(t *testing.T) {
psVss *= 1024 // 1k blocks, want bytes.
// Our internal version
- procUsage(&pcpu, &rss, &vss)
+ ProcUsage(&pcpu, &rss, &vss)
if pcpu != psPcpu {
delta := int64(pcpu - psPcpu)
diff --git a/server/pse_windows.go b/server/pse/pse_windows.go
similarity index 98%
rename from server/pse_windows.go
rename to server/pse/pse_windows.go
index ad800d74..8d76bd8c 100644
--- a/server/pse_windows.go
+++ b/server/pse/pse_windows.go
@@ -1,16 +1,16 @@
// Copyright 2015-2016 Apcera Inc. All rights reserved.
-package server
+package pse
import (
"errors"
"fmt"
"os"
"os/exec"
+ "path/filepath"
"strconv"
"strings"
"sync"
- "path/filepath"
)
// cache the image name to optimize repeated calls
@@ -112,7 +112,7 @@ func getProcessImageName() (name string) {
// If there is more than one instance, "#" is appended to
// the image name. Wildcard filters are supported, but result in a very
// complex data set to parse.
-func procUsage(pcpu *float64, rss, vss *int64) error {
+func ProcUsage(pcpu *float64, rss, vss *int64) error {
var ppid int = -1
imageLock.Lock()
diff --git a/server/pse_windows_test.go b/server/pse/pse_windows_test.go
similarity index 99%
rename from server/pse_windows_test.go
rename to server/pse/pse_windows_test.go
index 87ec0fb9..408f061a 100644
--- a/server/pse_windows_test.go
+++ b/server/pse/pse_windows_test.go
@@ -1,6 +1,7 @@
// Copyright 2016 Apcera Inc. All rights reserved.
// +build win
-package server
+
+package pse
import (
"fmt"
diff --git a/server/pse_solaris.go b/server/pse_solaris.go
deleted file mode 100644
index 80f12a38..00000000
--- a/server/pse_solaris.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 Apcera Inc. All rights reserved.
-
-package server
-
-// This is a placeholder for now.
-func procUsage(pcpu *float64, rss, vss *int64) error {
- *pcpu = 0.0
- *rss = 0
- *vss = 0
-
- return nil
-}
diff --git a/server/server.go b/server/server.go
index b37e7d00..767a77eb 100644
--- a/server/server.go
+++ b/server/server.go
@@ -162,7 +162,7 @@ func PrintAndDie(msg string) {
// PrintServerAndExit will print our version and exit.
func PrintServerAndExit() {
- fmt.Printf("gnatsd version %s\n", VERSION)
+ fmt.Printf("nats-server version %s\n", VERSION)
os.Exit(0)
}
@@ -201,7 +201,7 @@ func (s *Server) logPid() {
// Start up the server, this will block.
// Start via a Go routine if needed.
func (s *Server) Start() {
- Noticef("Starting gnatsd version %s", VERSION)
+ Noticef("Starting nats-server version %s", VERSION)
Debugf("Go build version %s", s.info.GoVersion)
s.running = true
@@ -319,8 +319,8 @@ func (s *Server) AcceptLoop() {
Noticef("TLS required for client connections")
}
- Debugf("server id is %s", s.info.ID)
- Noticef("server is ready")
+ Debugf("Server id is %s", s.info.ID)
+ Noticef("Server is ready")
// Setup state that can enable shutdown
s.mu.Lock()