Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mybee
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
vicotor
mybee
Commits
b9b3c996
Commit
b9b3c996
authored
Jan 30, 2020
by
Janos Guljas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
test p2p/protobuf package
parent
cd37ec88
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
386 additions
and
1 deletion
+386
-1
doc.go
pkg/p2p/protobuf/internal/pb/doc.go
+9
-0
test.pb.go
pkg/p2p/protobuf/internal/pb/test.pb.go
+314
-0
test.proto
pkg/p2p/protobuf/internal/pb/test.proto
+12
-0
protobuf.go
pkg/p2p/protobuf/protobuf.go
+2
-1
protobuf_test.go
pkg/p2p/protobuf/protobuf_test.go
+49
-0
No files found.
pkg/p2p/protobuf/internal/pb/doc.go
0 → 100644
View file @
b9b3c996
// Copyright 2020 The Swarm Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:generate sh -c "protoc -I . -I \"$(go list -f '{{ .Dir }}' -m github.com/gogo/protobuf)/protobuf\" --gogofaster_out=. test.proto"
// Package pb holds only Protocol Buffer definitions and generated code for
// testing purposes.
package
pb
pkg/p2p/protobuf/internal/pb/test.pb.go
0 → 100644
View file @
b9b3c996
// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: test.proto
package
pb
import
(
fmt
"fmt"
proto
"github.com/gogo/protobuf/proto"
io
"io"
math
"math"
math_bits
"math/bits"
)
// Reference imports to suppress errors if they are not otherwise used.
var
_
=
proto
.
Marshal
var
_
=
fmt
.
Errorf
var
_
=
math
.
Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const
_
=
proto
.
GoGoProtoPackageIsVersion3
// please upgrade the proto package
type
Message
struct
{
Text
string
`protobuf:"bytes,1,opt,name=Text,proto3" json:"Text,omitempty"`
}
func
(
m
*
Message
)
Reset
()
{
*
m
=
Message
{}
}
func
(
m
*
Message
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Message
)
ProtoMessage
()
{}
func
(
*
Message
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_c161fcfdc0c3ff1e
,
[]
int
{
0
}
}
func
(
m
*
Message
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
m
.
Unmarshal
(
b
)
}
func
(
m
*
Message
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
if
deterministic
{
return
xxx_messageInfo_Message
.
Marshal
(
b
,
m
,
deterministic
)
}
else
{
b
=
b
[
:
cap
(
b
)]
n
,
err
:=
m
.
MarshalToSizedBuffer
(
b
)
if
err
!=
nil
{
return
nil
,
err
}
return
b
[
:
n
],
nil
}
}
func
(
m
*
Message
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_Message
.
Merge
(
m
,
src
)
}
func
(
m
*
Message
)
XXX_Size
()
int
{
return
m
.
Size
()
}
func
(
m
*
Message
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_Message
.
DiscardUnknown
(
m
)
}
var
xxx_messageInfo_Message
proto
.
InternalMessageInfo
func
(
m
*
Message
)
GetText
()
string
{
if
m
!=
nil
{
return
m
.
Text
}
return
""
}
func
init
()
{
proto
.
RegisterType
((
*
Message
)(
nil
),
"pb.Message"
)
}
func
init
()
{
proto
.
RegisterFile
(
"test.proto"
,
fileDescriptor_c161fcfdc0c3ff1e
)
}
var
fileDescriptor_c161fcfdc0c3ff1e
=
[]
byte
{
// 100 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xe2
,
0xe2
,
0x2a
,
0x49
,
0x2d
,
0x2e
,
0xd1
,
0x2b
,
0x28
,
0xca
,
0x2f
,
0xc9
,
0x17
,
0x62
,
0x2a
,
0x48
,
0x52
,
0x92
,
0xe5
,
0x62
,
0xf7
,
0x4d
,
0x2d
,
0x2e
,
0x4e
,
0x4c
,
0x4f
,
0x15
,
0x12
,
0xe2
,
0x62
,
0x09
,
0x49
,
0xad
,
0x28
,
0x91
,
0x60
,
0x54
,
0x60
,
0xd4
,
0xe0
,
0x0c
,
0x02
,
0xb3
,
0x9d
,
0x24
,
0x4e
,
0x3c
,
0x92
,
0x63
,
0xbc
,
0xf0
,
0x48
,
0x8e
,
0xf1
,
0xc1
,
0x23
,
0x39
,
0xc6
,
0x09
,
0x8f
,
0xe5
,
0x18
,
0x2e
,
0x3c
,
0x96
,
0x63
,
0xb8
,
0xf1
,
0x58
,
0x8e
,
0x21
,
0x89
,
0x0d
,
0x6c
,
0x86
,
0x31
,
0x20
,
0x00
,
0x00
,
0xff
,
0xff
,
0xaa
,
0xbb
,
0x60
,
0xa9
,
0x51
,
0x00
,
0x00
,
0x00
,
}
func
(
m
*
Message
)
Marshal
()
(
dAtA
[]
byte
,
err
error
)
{
size
:=
m
.
Size
()
dAtA
=
make
([]
byte
,
size
)
n
,
err
:=
m
.
MarshalToSizedBuffer
(
dAtA
[
:
size
])
if
err
!=
nil
{
return
nil
,
err
}
return
dAtA
[
:
n
],
nil
}
func
(
m
*
Message
)
MarshalTo
(
dAtA
[]
byte
)
(
int
,
error
)
{
size
:=
m
.
Size
()
return
m
.
MarshalToSizedBuffer
(
dAtA
[
:
size
])
}
func
(
m
*
Message
)
MarshalToSizedBuffer
(
dAtA
[]
byte
)
(
int
,
error
)
{
i
:=
len
(
dAtA
)
_
=
i
var
l
int
_
=
l
if
len
(
m
.
Text
)
>
0
{
i
-=
len
(
m
.
Text
)
copy
(
dAtA
[
i
:
],
m
.
Text
)
i
=
encodeVarintTest
(
dAtA
,
i
,
uint64
(
len
(
m
.
Text
)))
i
--
dAtA
[
i
]
=
0xa
}
return
len
(
dAtA
)
-
i
,
nil
}
func
encodeVarintTest
(
dAtA
[]
byte
,
offset
int
,
v
uint64
)
int
{
offset
-=
sovTest
(
v
)
base
:=
offset
for
v
>=
1
<<
7
{
dAtA
[
offset
]
=
uint8
(
v
&
0x7f
|
0x80
)
v
>>=
7
offset
++
}
dAtA
[
offset
]
=
uint8
(
v
)
return
base
}
func
(
m
*
Message
)
Size
()
(
n
int
)
{
if
m
==
nil
{
return
0
}
var
l
int
_
=
l
l
=
len
(
m
.
Text
)
if
l
>
0
{
n
+=
1
+
l
+
sovTest
(
uint64
(
l
))
}
return
n
}
func
sovTest
(
x
uint64
)
(
n
int
)
{
return
(
math_bits
.
Len64
(
x
|
1
)
+
6
)
/
7
}
func
sozTest
(
x
uint64
)
(
n
int
)
{
return
sovTest
(
uint64
((
x
<<
1
)
^
uint64
((
int64
(
x
)
>>
63
))))
}
func
(
m
*
Message
)
Unmarshal
(
dAtA
[]
byte
)
error
{
l
:=
len
(
dAtA
)
iNdEx
:=
0
for
iNdEx
<
l
{
preIndex
:=
iNdEx
var
wire
uint64
for
shift
:=
uint
(
0
);
;
shift
+=
7
{
if
shift
>=
64
{
return
ErrIntOverflowTest
}
if
iNdEx
>=
l
{
return
io
.
ErrUnexpectedEOF
}
b
:=
dAtA
[
iNdEx
]
iNdEx
++
wire
|=
uint64
(
b
&
0x7F
)
<<
shift
if
b
<
0x80
{
break
}
}
fieldNum
:=
int32
(
wire
>>
3
)
wireType
:=
int
(
wire
&
0x7
)
if
wireType
==
4
{
return
fmt
.
Errorf
(
"proto: Message: wiretype end group for non-group"
)
}
if
fieldNum
<=
0
{
return
fmt
.
Errorf
(
"proto: Message: illegal tag %d (wire type %d)"
,
fieldNum
,
wire
)
}
switch
fieldNum
{
case
1
:
if
wireType
!=
2
{
return
fmt
.
Errorf
(
"proto: wrong wireType = %d for field Text"
,
wireType
)
}
var
stringLen
uint64
for
shift
:=
uint
(
0
);
;
shift
+=
7
{
if
shift
>=
64
{
return
ErrIntOverflowTest
}
if
iNdEx
>=
l
{
return
io
.
ErrUnexpectedEOF
}
b
:=
dAtA
[
iNdEx
]
iNdEx
++
stringLen
|=
uint64
(
b
&
0x7F
)
<<
shift
if
b
<
0x80
{
break
}
}
intStringLen
:=
int
(
stringLen
)
if
intStringLen
<
0
{
return
ErrInvalidLengthTest
}
postIndex
:=
iNdEx
+
intStringLen
if
postIndex
<
0
{
return
ErrInvalidLengthTest
}
if
postIndex
>
l
{
return
io
.
ErrUnexpectedEOF
}
m
.
Text
=
string
(
dAtA
[
iNdEx
:
postIndex
])
iNdEx
=
postIndex
default
:
iNdEx
=
preIndex
skippy
,
err
:=
skipTest
(
dAtA
[
iNdEx
:
])
if
err
!=
nil
{
return
err
}
if
skippy
<
0
{
return
ErrInvalidLengthTest
}
if
(
iNdEx
+
skippy
)
<
0
{
return
ErrInvalidLengthTest
}
if
(
iNdEx
+
skippy
)
>
l
{
return
io
.
ErrUnexpectedEOF
}
iNdEx
+=
skippy
}
}
if
iNdEx
>
l
{
return
io
.
ErrUnexpectedEOF
}
return
nil
}
func
skipTest
(
dAtA
[]
byte
)
(
n
int
,
err
error
)
{
l
:=
len
(
dAtA
)
iNdEx
:=
0
depth
:=
0
for
iNdEx
<
l
{
var
wire
uint64
for
shift
:=
uint
(
0
);
;
shift
+=
7
{
if
shift
>=
64
{
return
0
,
ErrIntOverflowTest
}
if
iNdEx
>=
l
{
return
0
,
io
.
ErrUnexpectedEOF
}
b
:=
dAtA
[
iNdEx
]
iNdEx
++
wire
|=
(
uint64
(
b
)
&
0x7F
)
<<
shift
if
b
<
0x80
{
break
}
}
wireType
:=
int
(
wire
&
0x7
)
switch
wireType
{
case
0
:
for
shift
:=
uint
(
0
);
;
shift
+=
7
{
if
shift
>=
64
{
return
0
,
ErrIntOverflowTest
}
if
iNdEx
>=
l
{
return
0
,
io
.
ErrUnexpectedEOF
}
iNdEx
++
if
dAtA
[
iNdEx
-
1
]
<
0x80
{
break
}
}
case
1
:
iNdEx
+=
8
case
2
:
var
length
int
for
shift
:=
uint
(
0
);
;
shift
+=
7
{
if
shift
>=
64
{
return
0
,
ErrIntOverflowTest
}
if
iNdEx
>=
l
{
return
0
,
io
.
ErrUnexpectedEOF
}
b
:=
dAtA
[
iNdEx
]
iNdEx
++
length
|=
(
int
(
b
)
&
0x7F
)
<<
shift
if
b
<
0x80
{
break
}
}
if
length
<
0
{
return
0
,
ErrInvalidLengthTest
}
iNdEx
+=
length
case
3
:
depth
++
case
4
:
if
depth
==
0
{
return
0
,
ErrUnexpectedEndOfGroupTest
}
depth
--
case
5
:
iNdEx
+=
4
default
:
return
0
,
fmt
.
Errorf
(
"proto: illegal wireType %d"
,
wireType
)
}
if
iNdEx
<
0
{
return
0
,
ErrInvalidLengthTest
}
if
depth
==
0
{
return
iNdEx
,
nil
}
}
return
0
,
io
.
ErrUnexpectedEOF
}
var
(
ErrInvalidLengthTest
=
fmt
.
Errorf
(
"proto: negative length found during unmarshaling"
)
ErrIntOverflowTest
=
fmt
.
Errorf
(
"proto: integer overflow"
)
ErrUnexpectedEndOfGroupTest
=
fmt
.
Errorf
(
"proto: unexpected end of group"
)
)
pkg/p2p/protobuf/internal/pb/test.proto
0 → 100644
View file @
b9b3c996
// Copyright 2020 The Swarm Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
syntax
=
"proto3"
;
package
pb
;
message
Message
{
string
Text
=
1
;
}
pkg/p2p/protobuf/protobuf.go
View file @
b9b3c996
...
@@ -5,10 +5,11 @@
...
@@ -5,10 +5,11 @@
package
protobuf
package
protobuf
import
(
import
(
"io"
"github.com/ethersphere/bee/pkg/p2p"
"github.com/ethersphere/bee/pkg/p2p"
ggio
"github.com/gogo/protobuf/io"
ggio
"github.com/gogo/protobuf/io"
"github.com/gogo/protobuf/proto"
"github.com/gogo/protobuf/proto"
"io"
)
)
const
delimitedReaderMaxSize
=
128
*
1024
// max message size
const
delimitedReaderMaxSize
=
128
*
1024
// max message size
...
...
pkg/p2p/protobuf/protobuf_test.go
0 → 100644
View file @
b9b3c996
// Copyright 2020 The Swarm Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package
protobuf_test
import
(
"fmt"
"io"
"testing"
"github.com/ethersphere/bee/pkg/p2p/protobuf"
"github.com/ethersphere/bee/pkg/p2p/protobuf/internal/pb"
)
func
TestReadMessages
(
t
*
testing
.
T
)
{
r
,
pipe
:=
io
.
Pipe
()
w
:=
protobuf
.
NewWriter
(
pipe
)
messages
:=
[]
string
{
"first"
,
"second"
,
"third"
}
go
func
()
{
for
_
,
m
:=
range
messages
{
if
err
:=
w
.
WriteMsg
(
&
pb
.
Message
{
Text
:
m
,
});
err
!=
nil
{
panic
(
err
)
}
}
if
err
:=
pipe
.
Close
();
err
!=
nil
{
panic
(
err
)
}
}()
got
,
err
:=
protobuf
.
ReadMessages
(
r
,
func
()
protobuf
.
Message
{
return
new
(
pb
.
Message
)
})
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
var
gotMessages
[]
string
for
_
,
m
:=
range
got
{
gotMessages
=
append
(
gotMessages
,
m
.
(
*
pb
.
Message
)
.
Text
)
}
if
fmt
.
Sprint
(
gotMessages
)
!=
fmt
.
Sprint
(
messages
)
{
t
.
Errorf
(
"got messages %v, want %v"
,
gotMessages
,
messages
)
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment