Fix gofmt alarm

This commit is contained in:
wentianle 2018-08-29 16:15:04 +08:00
parent 931b08376b
commit e464beb24e
8 changed files with 63 additions and 14 deletions

View File

@ -4,6 +4,7 @@ import (
"io"
)
// ClientMessageType ...
type ClientMessageType uint8
//go:generate stringer -type=ClientMessageType
@ -29,6 +30,7 @@ type Color struct {
R, G, B uint16
}
// ColorMap ...
type ColorMap [256]Color
// ClientMessage is the interface
@ -38,6 +40,7 @@ type ClientMessage interface {
Write(io.Writer) error
}
// String ...
func (cmt ClientMessageType) String() string {
switch cmt {
case SetPixelFormatMsgType:

View File

@ -2,6 +2,7 @@ package common
import "io"
//IServerConn ...
type IServerConn interface {
io.ReadWriter
//IServerConn() io.ReadWriter
@ -23,6 +24,7 @@ type IServerConn interface {
// Write([]byte) (int, error)
}
//IClientConn ...
type IClientConn interface {
CurrentPixelFormat() *PixelFormat
//CurrentColorMap() *ColorMap

View File

@ -11,7 +11,7 @@ import (
type IEncoding interface {
// The number that uniquely identifies this encoding type.
Type() int32
WriteTo(w io.Writer) (n int, err error)
WriteTo(w io.Writer) (n int64, err error)
// Read reads the contents of the encoded pixel data from the reader.
// This should return a new IEncoding implementation that contains
// the proper data.
@ -143,6 +143,7 @@ func (enct EncodingType) String() string {
return ""
}
//EncodingType ...
const (
EncRaw EncodingType = 0
EncCopyRect EncodingType = 1
@ -220,17 +221,18 @@ type PixelFormat struct {
BlueShift uint8
}
func (format *PixelFormat) WriteTo(w io.Writer) error {
//WriteTo ...
func (format *PixelFormat) WriteTo(w io.Writer) (int64, error) {
var buf bytes.Buffer
// Byte 1
if err := binary.Write(&buf, binary.BigEndian, format.BPP); err != nil {
return err
return 0, err
}
// Byte 2
if err := binary.Write(&buf, binary.BigEndian, format.Depth); err != nil {
return err
return 0, err
}
var boolByte byte
@ -242,7 +244,7 @@ func (format *PixelFormat) WriteTo(w io.Writer) error {
// Byte 3 (BigEndian)
if err := binary.Write(&buf, binary.BigEndian, boolByte); err != nil {
return err
return 0, err
}
if format.TrueColor == 1 {
@ -253,41 +255,42 @@ func (format *PixelFormat) WriteTo(w io.Writer) error {
// Byte 4 (TrueColor)
if err := binary.Write(&buf, binary.BigEndian, boolByte); err != nil {
return err
return 0, err
}
// If we have true color enabled then we have to fill in the rest of the
// structure with the color values.
if format.TrueColor == 1 {
if err := binary.Write(&buf, binary.BigEndian, format.RedMax); err != nil {
return err
return 0, err
}
if err := binary.Write(&buf, binary.BigEndian, format.GreenMax); err != nil {
return err
return 0, err
}
if err := binary.Write(&buf, binary.BigEndian, format.BlueMax); err != nil {
return err
return 0, err
}
if err := binary.Write(&buf, binary.BigEndian, format.RedShift); err != nil {
return err
return 0, err
}
if err := binary.Write(&buf, binary.BigEndian, format.GreenShift); err != nil {
return err
return 0, err
}
if err := binary.Write(&buf, binary.BigEndian, format.BlueShift); err != nil {
return err
return 0, err
}
}
w.Write(buf.Bytes()[0:16])
return nil
return 0, nil
}
// NewPixelFormat ...
func NewPixelFormat(bpp uint8) *PixelFormat {
bigEndian := 0
// rgbMax := uint16(math.Exp2(float64(bpp))) - 1

View File

@ -1,13 +1,16 @@
package common
//MultiListener ...
type MultiListener struct {
listeners []SegmentConsumer
}
//AddListener ...
func (m *MultiListener) AddListener(listener SegmentConsumer) {
m.listeners = append(m.listeners, listener)
}
//Consume ...
func (m *MultiListener) Consume(seg *RfbSegment) error {
for _, li := range m.listeners {

View File

@ -8,8 +8,10 @@ import (
"vncproxy/logger"
)
//TightMinToCompress ...
var TightMinToCompress = 12
//SegmentType ...
const (
SegmentBytes SegmentType = iota
SegmentMessageStart
@ -21,6 +23,7 @@ const (
SegmentMessageEnd
)
//SegmentType ...
type SegmentType int
func (seg SegmentType) String() string {
@ -46,6 +49,7 @@ func (seg SegmentType) String() string {
return ""
}
//RfbSegment ...
type RfbSegment struct {
Bytes []byte
SegmentType SegmentType
@ -53,49 +57,59 @@ type RfbSegment struct {
Message interface{}
}
//SegmentConsumer ...
type SegmentConsumer interface {
Consume(*RfbSegment) error
}
//RfbReadHelper ...
type RfbReadHelper struct {
io.Reader
Listeners *MultiListener
savedBytes *bytes.Buffer
}
//NewRfbReadHelper ...
func NewRfbReadHelper(r io.Reader) *RfbReadHelper {
return &RfbReadHelper{Reader: r, Listeners: &MultiListener{}}
}
//StartByteCollection ...
func (r *RfbReadHelper) StartByteCollection() {
r.savedBytes = &bytes.Buffer{}
}
//EndByteCollection ...
func (r *RfbReadHelper) EndByteCollection() []byte {
bts := r.savedBytes.Bytes()
r.savedBytes = nil
return bts
}
//ReadDiscrete ...
func (r *RfbReadHelper) ReadDiscrete(p []byte) (int, error) {
return r.Read(p)
}
//SendRectSeparator ...
func (r *RfbReadHelper) SendRectSeparator(upcomingRectType int) error {
seg := &RfbSegment{SegmentType: SegmentRectSeparator, UpcomingObjectType: upcomingRectType}
return r.Listeners.Consume(seg)
}
//SendMessageStart ...
func (r *RfbReadHelper) SendMessageStart(upcomingMessageType ServerMessageType) error {
seg := &RfbSegment{SegmentType: SegmentMessageStart, UpcomingObjectType: int(upcomingMessageType)}
return r.Listeners.Consume(seg)
}
//SendMessageEnd ...
func (r *RfbReadHelper) SendMessageEnd(messageType ServerMessageType) error {
seg := &RfbSegment{SegmentType: SegmentMessageEnd, UpcomingObjectType: int(messageType)}
return r.Listeners.Consume(seg)
}
//PublishBytes ...
func (r *RfbReadHelper) PublishBytes(p []byte) error {
seg := &RfbSegment{Bytes: p, SegmentType: SegmentBytes}
return r.Listeners.Consume(seg)
@ -135,6 +149,7 @@ func (r *RfbReadHelper) Read(p []byte) (n int, err error) {
return readLen, err
}
//ReadBytes ...
func (r *RfbReadHelper) ReadBytes(count int) ([]byte, error) {
buff := make([]byte, count)
@ -157,6 +172,7 @@ func (r *RfbReadHelper) ReadBytes(count int) ([]byte, error) {
return buff, nil
}
//ReadUint8 ...
func (r *RfbReadHelper) ReadUint8() (uint8, error) {
var myUint uint8
if err := binary.Read(r, binary.BigEndian, &myUint); err != nil {
@ -165,6 +181,8 @@ func (r *RfbReadHelper) ReadUint8() (uint8, error) {
return myUint, nil
}
//ReadUint16 ...
func (r *RfbReadHelper) ReadUint16() (uint16, error) {
var myUint uint16
if err := binary.Read(r, binary.BigEndian, &myUint); err != nil {
@ -173,6 +191,8 @@ func (r *RfbReadHelper) ReadUint16() (uint16, error) {
return myUint, nil
}
//ReadUint32 ...
func (r *RfbReadHelper) ReadUint32() (uint32, error) {
var myUint uint32
if err := binary.Read(r, binary.BigEndian, &myUint); err != nil {
@ -181,6 +201,8 @@ func (r *RfbReadHelper) ReadUint32() (uint32, error) {
return myUint, nil
}
//ReadCompactLen ...
func (r *RfbReadHelper) ReadCompactLen() (int, error) {
var err error
part, err := r.ReadUint8()
@ -204,6 +226,7 @@ func (r *RfbReadHelper) ReadCompactLen() (int, error) {
return int(len), err
}
//ReadTightData ...
func (r *RfbReadHelper) ReadTightData(dataSize int) ([]byte, error) {
if int(dataSize) < TightMinToCompress {
return r.ReadBytes(int(dataSize))

View File

@ -4,14 +4,18 @@ import (
"io"
)
//ServerMessage ...
type ServerMessage interface {
Type() uint8
String() string
CopyTo(r io.Reader, w io.Writer, c IClientConn) error
Read(IClientConn, *RfbReadHelper) (ServerMessage, error)
}
//ServerMessageType ...
type ServerMessageType int8
//ServerMessageType ...
const (
FramebufferUpdate ServerMessageType = iota
SetColourMapEntries
@ -34,6 +38,7 @@ func (typ ServerMessageType) String() string {
return ""
}
//ServerInit ...
type ServerInit struct {
FBWidth, FBHeight uint16
PixelFormat PixelFormat

View File

@ -6,16 +6,20 @@ import (
"vncproxy/common"
)
//CopyRectEncoding ..
type CopyRectEncoding struct {
//Colors []Color
copyRectSrcX uint16
copyRectSrcY uint16
}
//Type ..
func (z *CopyRectEncoding) Type() int32 {
return 1
}
func (z *CopyRectEncoding) WriteTo(w io.Writer) (n int, err error) {
//WriteTo ..
func (z *CopyRectEncoding) WriteTo(w io.Writer) (n int64, err error) {
binary.Write(w, binary.BigEndian, z.copyRectSrcX)
if err != nil {
return 0, err

View File

@ -7,16 +7,22 @@ import (
"vncproxy/common"
)
// ZLibEncoding ..
type ZLibEncoding struct {
bytes []byte
}
// Type ..
func (z *ZLibEncoding) Type() int32 {
return 6
}
// WriteTo ...
func (z *ZLibEncoding) WriteTo(w io.Writer) (n int, err error) {
return w.Write(z.bytes)
}
//Read ...
func (z *ZLibEncoding) Read(pixelFmt *common.PixelFormat, rect *common.Rectangle, r *common.RfbReadHelper) (common.IEncoding, error) {
//conn := common.RfbReadHelper{Reader:r}
//conn := &DataSource{conn: conn.c, PixelFormat: conn.PixelFormat}