mirror of
https://github.com/soypat/lneto.git
synced 2026-08-14 20:03:45 +00:00
add stackbasic test
This commit is contained in:
@@ -5,12 +5,10 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"log"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
"net/netip"
|
||||
"net/url"
|
||||
"time"
|
||||
|
||||
"github.com/soypat/lneto/internal"
|
||||
)
|
||||
@@ -73,35 +71,6 @@ func (h *HTTPTapClient) Write(b []byte) (int, error) {
|
||||
|
||||
func (h *HTTPTapClient) Close() error { return nil }
|
||||
|
||||
func (h *HTTPTapClient) HandleTap(buf []byte) (HandleTapResult, error) {
|
||||
nread, err := tap.Read(buf[:])
|
||||
if err != nil {
|
||||
slogger.error("tap-err", slog.String("err", err.Error()))
|
||||
log.Fatal(err)
|
||||
} else if nread > 0 {
|
||||
err = lStack.RecvEth(buf[:nread])
|
||||
if err != nil {
|
||||
slogger.error("recv", slog.String("err", err.Error()), slog.Int("plen", nread))
|
||||
} else {
|
||||
slogger.info("recv", slog.Int("plen", nread))
|
||||
}
|
||||
}
|
||||
nw, err := lStack.HandleEth(buf[:])
|
||||
if err != nil {
|
||||
slogger.error("handle", slog.String("err", err.Error()))
|
||||
} else if nw > 0 {
|
||||
_, err = tap.Write(buf[:nw])
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
} else {
|
||||
slogger.info("write", slog.Int("plen", nw))
|
||||
}
|
||||
}
|
||||
if nread == 0 && nw == 0 {
|
||||
time.Sleep(5 * time.Millisecond)
|
||||
}
|
||||
}
|
||||
|
||||
type HTTPTapServer struct {
|
||||
router *http.ServeMux
|
||||
stack stack
|
||||
|
||||
Reference in New Issue
Block a user