Skip to content

Commit

Permalink
Revert "Buffered reads (#31)"
Browse files Browse the repository at this point in the history
This reverts commit e9d203d.
  • Loading branch information
johnweldon committed Dec 14, 2020
1 parent e9d203d commit 764995b
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 49 deletions.
2 changes: 0 additions & 2 deletions ber.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package ber

import (
"bufio"
"bytes"
"errors"
"fmt"
Expand Down Expand Up @@ -285,7 +284,6 @@ func DecodePacketErr(data []byte) (*Packet, error) {

// readPacket reads a single Packet from the reader, returning the number of bytes read.
func readPacket(reader io.Reader) (*Packet, int, error) {
reader = bufio.NewReader(reader)
identifier, length, read, err := readHeader(reader)
if err != nil {
return nil, read, err
Expand Down
47 changes: 0 additions & 47 deletions suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import (
"io"
"io/ioutil"
"math"
"os"
"testing"
)

Expand Down Expand Up @@ -195,49 +194,3 @@ func TestSuiteReadPacket(t *testing.T) {
}
}
}

func largeBER(t testing.TB, n int) *Packet {
packet := Encode(ClassUniversal, TypeConstructed, TagSequence, nil, "LDAP Request")
packet.AppendChild(NewInteger(ClassUniversal, TypePrimitive, TagInteger, 20, "MessageID"))
for i := 0; i < n; i++ {
srp := Encode(ClassApplication, TypeConstructed, 3, nil, "Search Request")
srp.AppendChild(NewString(ClassUniversal, TypePrimitive, TagOctetString, "dc=example,dc=com", "Base DN"))
srp.AppendChild(NewInteger(ClassUniversal, TypePrimitive, TagEnumerated, uint64(2), "Scope"))
srp.AppendChild(NewInteger(ClassUniversal, TypePrimitive, TagEnumerated, uint64(3), "Deref Aliases"))
srp.AppendChild(NewInteger(ClassUniversal, TypePrimitive, TagInteger, uint64(0), "Size Limit"))
srp.AppendChild(NewInteger(ClassUniversal, TypePrimitive, TagInteger, uint64(0), "Time Limit"))
srp.AppendChild(NewBoolean(ClassUniversal, TypePrimitive, TagBoolean, false, "Types Only"))
packet.AppendChild(srp)
}
return packet
}

func BenchmarkReadPacket(b *testing.B) {
benchFile := "tests/bench.ber"
p := largeBER(b, 20000)
err := ioutil.WriteFile("tests/bench.ber", p.Bytes(), 0777)
if err != nil {
b.Fatal(err)
}
defer os.Remove(benchFile)

f, err := os.Open("tests/bench.ber")
if err != nil {
b.Fatal(err)
}

b.ResetTimer()
for n := 0; n < b.N; n++ {
b.StopTimer()
_, err := f.Seek(0, 0)
if err != nil {
b.Fatal(err)
}
b.StartTimer()
_, err = ReadPacket(f)
if err != nil {
b.Fatal(err)
}
}
b.StopTimer()
}

0 comments on commit 764995b

Please sign in to comment.