grim/gousb2snes
Clone
Summary
Browse
Changes
Graph
Update the package path for the new repository host
draft
default
tip
2020-04-27, Gary Kramlich
2bff12a54574
Update the package path for the new repository host
package
network
import
(
"net"
)
type
Server
struct
{
running
bool
listener
net
.
Listener
}
func
NewServer
()
*
Server
{
return
&
Server
{}
}
func
(
s
*
Server
)
Listen
(
addr
string
)
error
{
listener
,
err
:=
net
.
Listen
(
"tcp"
,
addr
)
if
err
!=
nil
{
return
err
}
s
.
listener
=
listener
return
nil
}
func
(
s
*
Server
)
Run
(
errChan
chan
error
)
{
s
.
running
=
true
defer
func
()
{
s
.
running
=
false
s
.
listener
.
Close
()
}()
for
{
if
!
s
.
running
{
break
}
c
,
err
:=
s
.
listener
.
Accept
()
if
err
!=
nil
{
errChan
<-
err
continue
}
client
:=
NewClient
(
c
)
go
client
.
Run
(
errChan
)
}
}
func
(
s
*
Server
)
Shutdown
()
{
s
.
running
=
false
}