| 1234567891011121314151617181920212223242526272829303132 |
- package relay
-
- import "sync"
-
- type eastWest struct {
- east []byte
- west []byte
- }
-
- var eastWestPool = sync.Pool{
- New: func() interface{} {
- return &eastWest{}
- },
- }
-
- func acquireEastWest(bufferSize int) *eastWest {
- wanted := eastWestPool.Get().(*eastWest) // nolint: forcetypeassert
-
- if len(wanted.east) != bufferSize {
- wanted.east = make([]byte, bufferSize)
- }
-
- if len(wanted.west) != bufferSize {
- wanted.west = make([]byte, bufferSize)
- }
-
- return wanted
- }
-
- func releaseEastWest(ew *eastWest) {
- eastWestPool.Put(ew)
- }
|