Skip to content

Commit

Permalink
Remove packet transport code (#2640)
Browse files Browse the repository at this point in the history
The code is no longer needed, and will soon be replaced by QUIC.
  • Loading branch information
scrye authored May 6, 2019
1 parent 545e030 commit 9543f80
Show file tree
Hide file tree
Showing 17 changed files with 55 additions and 201 deletions.
1 change: 0 additions & 1 deletion go/integration/cert_req/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ go_library(
"//go/lib/infra:go_default_library",
"//go/lib/infra/disp:go_default_library",
"//go/lib/infra/messenger:go_default_library",
"//go/lib/infra/transport:go_default_library",
"//go/lib/log:go_default_library",
"//go/lib/scrypto:go_default_library",
"//go/lib/scrypto/cert:go_default_library",
Expand Down
3 changes: 1 addition & 2 deletions go/integration/cert_req/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import (
"github.com/scionproto/scion/go/lib/infra"
"github.com/scionproto/scion/go/lib/infra/disp"
"github.com/scionproto/scion/go/lib/infra/messenger"
"github.com/scionproto/scion/go/lib/infra/transport"
"github.com/scionproto/scion/go/lib/log"
"github.com/scionproto/scion/go/lib/scrypto"
"github.com/scionproto/scion/go/lib/scrypto/cert"
Expand Down Expand Up @@ -73,7 +72,7 @@ func (c client) run() int {
&messenger.Config{
IA: integration.Local.IA,
Dispatcher: disp.New(
transport.NewPacketTransport(c.conn),
c.conn,
messenger.DefaultAdapter,
log.Root(),
),
Expand Down
1 change: 0 additions & 1 deletion go/lib/infra/disp/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ go_test(
embed = [":go_default_library"],
deps = [
"//go/lib/common:go_default_library",
"//go/lib/infra/transport:go_default_library",
"//go/lib/log:go_default_library",
"//go/lib/xtest:go_default_library",
"//go/lib/xtest/p2p:go_default_library",
Expand Down
27 changes: 15 additions & 12 deletions go/lib/infra/disp/disp.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ const (

type Dispatcher struct {
// Used to send and receive messages
transport infra.Transport
conn net.PacketConn
// Contains keys for messages awaiting replies
waitTable *waitTable
// Channel for messages read by the background receiver; drained by calls
Expand Down Expand Up @@ -85,9 +85,9 @@ type Dispatcher struct {
// (lower levels might be blocked on an uninterruptible call).
//
// A Dispatcher can be safely used by concurrent goroutines.
func New(t infra.Transport, adapter MessageAdapter, logger log.Logger) *Dispatcher {
func New(conn net.PacketConn, adapter MessageAdapter, logger log.Logger) *Dispatcher {
d := &Dispatcher{
transport: t,
conn: conn,
waitTable: newWaitTable(adapter.MsgKey),
adapter: adapter,
readEvents: make(chan *readEventDesc, maxReadEvents),
Expand All @@ -114,10 +114,11 @@ func (d *Dispatcher) Request(ctx context.Context, msg proto.Cerealizable,

b, err := d.adapter.MsgToRaw(msg)
if err != nil {
return nil, common.NewBasicError(infra.StrAdapterError, err, "op", "adapter.MsgToRaw")
return nil, common.NewBasicError(infra.StrAdapterError, err, "op", "MsgToRaw")
}
if err := d.transport.SendMsgTo(ctx, b, address); err != nil {
return nil, common.NewBasicError(infra.StrTransportError, err, "op", "transport.SendMsgTo")
// FIXME(scrye): Writes rarely block on packet conns.
if _, err := d.conn.WriteTo(b, address); err != nil {
return nil, common.NewBasicError(infra.StrTransportError, err, "op", "WriteTo")
}

reply, err := d.waitTable.waitForReply(ctx, msg)
Expand All @@ -136,8 +137,8 @@ func (d *Dispatcher) Notify(ctx context.Context, msg proto.Cerealizable, address
if err != nil {
return common.NewBasicError(infra.StrAdapterError, err, "op", "MsgToRaw")
}
if err := d.transport.SendMsgTo(ctx, b, address); err != nil {
return common.NewBasicError(infra.StrTransportError, err, "op", "SendMsgTo")
if _, err := d.conn.WriteTo(b, address); err != nil {
return common.NewBasicError(infra.StrTransportError, err, "op", "WriteTo")
}
return nil
}
Expand All @@ -149,8 +150,8 @@ func (d *Dispatcher) NotifyUnreliable(ctx context.Context, msg proto.Cerealizabl
if err != nil {
return common.NewBasicError(infra.StrAdapterError, err, "op", "MsgToRaw")
}
if err := d.transport.SendUnreliableMsgTo(ctx, b, address); err != nil {
return common.NewBasicError(infra.StrTransportError, err, "op", "SendUnreliableMsgTo")
if _, err := d.conn.WriteTo(b, address); err != nil {
return common.NewBasicError(infra.StrTransportError, err, "op", "WriteTo")
}
return nil
}
Expand Down Expand Up @@ -193,7 +194,9 @@ func (d *Dispatcher) goBackgroundReceiver() {
// returns true.
func (d *Dispatcher) recvNext() bool {
// Once the transport is closed, RecvFrom returns immediately.
b, address, err := d.transport.RecvFrom(context.Background())
b := make([]byte, common.MaxMTU)
n, address, err := d.conn.ReadFrom(b)
b = b[:n]
if err != nil {
if isCleanShutdownError(err) {
return true
Expand Down Expand Up @@ -243,7 +246,7 @@ func (d *Dispatcher) Close(ctx context.Context) error {
default:
close(d.closedChan)
}
err := d.transport.Close(ctx)
err := d.conn.Close()
if err != nil {
return common.NewBasicError("Unable to close transport", err)
}
Expand Down
5 changes: 2 additions & 3 deletions go/lib/infra/disp/disp_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ import (
. "github.com/smartystreets/goconvey/convey"

"github.com/scionproto/scion/go/lib/common"
"github.com/scionproto/scion/go/lib/infra/transport"
"github.com/scionproto/scion/go/lib/log"
"github.com/scionproto/scion/go/lib/xtest"
"github.com/scionproto/scion/go/lib/xtest/p2p"
Expand All @@ -35,8 +34,8 @@ const (

func Setup() (*Dispatcher, *Dispatcher, *customObject, *customObject) {
a2b, b2a := p2p.NewPacketConns()
dispA := New(transport.NewPacketTransport(a2b), testAdapter, log.Root())
dispB := New(transport.NewPacketTransport(b2a), testAdapter, log.Root())
dispA := New(a2b, testAdapter, log.Root())
dispB := New(b2a, testAdapter, log.Root())
request := &customObject{8, "request"}
reply := &customObject{8, "reply"}
return dispA, dispB, request, reply
Expand Down
1 change: 0 additions & 1 deletion go/lib/infra/infraenv/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ go_library(
"//go/lib/infra:go_default_library",
"//go/lib/infra/disp:go_default_library",
"//go/lib/infra/messenger:go_default_library",
"//go/lib/infra/transport:go_default_library",
"//go/lib/log:go_default_library",
"//go/lib/pathmgr:go_default_library",
"//go/lib/sciond:go_default_library",
Expand Down
3 changes: 1 addition & 2 deletions go/lib/infra/infraenv/infraenv.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ import (
"github.com/scionproto/scion/go/lib/infra"
"github.com/scionproto/scion/go/lib/infra/disp"
"github.com/scionproto/scion/go/lib/infra/messenger"
"github.com/scionproto/scion/go/lib/infra/transport"
"github.com/scionproto/scion/go/lib/log"
"github.com/scionproto/scion/go/lib/pathmgr"
"github.com/scionproto/scion/go/lib/sciond"
Expand Down Expand Up @@ -104,7 +103,7 @@ func (nc *NetworkConfig) Messenger() (infra.Messenger, error) {
}
} else {
msgerCfg.Dispatcher = disp.New(
transport.NewPacketTransport(conn),
conn,
messenger.DefaultAdapter,
log.Root(),
)
Expand Down
1 change: 0 additions & 1 deletion go/lib/infra/modules/trust/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ go_test(
"//go/lib/infra/mock_infra:go_default_library",
"//go/lib/infra/modules/itopo:go_default_library",
"//go/lib/infra/modules/trust/trustdb/trustdbsqlite:go_default_library",
"//go/lib/infra/transport:go_default_library",
"//go/lib/log:go_default_library",
"//go/lib/scrypto:go_default_library",
"//go/lib/scrypto/cert:go_default_library",
Expand Down
3 changes: 1 addition & 2 deletions go/lib/infra/modules/trust/trust_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ import (
"github.com/scionproto/scion/go/lib/infra/mock_infra"
"github.com/scionproto/scion/go/lib/infra/modules/itopo"
"github.com/scionproto/scion/go/lib/infra/modules/trust/trustdb/trustdbsqlite"
"github.com/scionproto/scion/go/lib/infra/transport"
"github.com/scionproto/scion/go/lib/log"
"github.com/scionproto/scion/go/lib/scrypto"
"github.com/scionproto/scion/go/lib/scrypto/cert"
Expand Down Expand Up @@ -694,7 +693,7 @@ func setupMessenger(ia addr.IA, conn net.PacketConn, store *Store, name string)
config := &messenger.Config{
IA: ia,
Dispatcher: disp.New(
transport.NewPacketTransport(conn),
conn,
messenger.DefaultAdapter,
log.New("name", name),
),
Expand Down
13 changes: 0 additions & 13 deletions go/lib/infra/transport/BUILD.bazel

This file was deleted.

115 changes: 0 additions & 115 deletions go/lib/infra/transport/packet_transport.go

This file was deleted.

1 change: 0 additions & 1 deletion go/lib/sciond/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ go_library(
"//go/lib/ctrl/path_mgmt:go_default_library",
"//go/lib/hostinfo:go_default_library",
"//go/lib/infra/disp:go_default_library",
"//go/lib/infra/transport:go_default_library",
"//go/lib/log:go_default_library",
"//go/lib/sock/reliable:go_default_library",
"//go/lib/spath:go_default_library",
Expand Down
3 changes: 1 addition & 2 deletions go/lib/sciond/sciond.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ import (
"github.com/scionproto/scion/go/lib/common"
"github.com/scionproto/scion/go/lib/ctrl/path_mgmt"
"github.com/scionproto/scion/go/lib/infra/disp"
"github.com/scionproto/scion/go/lib/infra/transport"
"github.com/scionproto/scion/go/lib/log"
"github.com/scionproto/scion/go/lib/sock/reliable"
"github.com/scionproto/scion/go/proto"
Expand Down Expand Up @@ -153,7 +152,7 @@ func connectTimeout(socketName string, timeout time.Duration) (*connector, error
}
return &connector{
dispatcher: disp.New(
transport.NewPacketTransport(conn),
conn,
&Adapter{},
log.Root(),
),
Expand Down
1 change: 0 additions & 1 deletion go/sciond/internal/servers/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ go_library(
"//go/lib/infra:go_default_library",
"//go/lib/infra/modules/itopo:go_default_library",
"//go/lib/infra/modules/segverifier:go_default_library",
"//go/lib/infra/transport:go_default_library",
"//go/lib/log:go_default_library",
"//go/lib/revcache:go_default_library",
"//go/lib/sciond:go_default_library",
Expand Down
Loading

0 comments on commit 9543f80

Please sign in to comment.