func NetAccepter(lst net.Listener, f channel.Framing) Accepter {
	return netAccepter{Listener: lst, newChannel: f}
}
NetAccepter adapts a net.Listener to the Accepter interface, using f as the
channel framing.
package server
import (
	"net"
	"sync"
	"github.com/creachadair/jrpc2"
	"github.com/creachadair/jrpc2/channel"
)
type Service interface {
	Assigner() (jrpc2.Assigner, error)
	Finish(jrpc2.Assigner, jrpc2.ServerStatus)
}
func Static(m jrpc2.Assigner) func() Service { return static{methods: m}.New }
type static struct{ methods jrpc2.Assigner }
func (s static) New() Service                            { return s }
func (s static) Assigner() (jrpc2.Assigner, error)       { return s.methods, nil }
func (static) Finish(jrpc2.Assigner, jrpc2.ServerStatus) {}
type Accepter interface {
	Accept() (channel.Channel, error)
}