decodeSessionData decodes session data from raw bytes Parameters: - rawData: The raw byte data to decode. Returns: - error: An error if the decoding fails. Usage: err := s.decodeSessionData(rawData)
(rawData []byte)
| 579 | // |
| 580 | // err := s.decodeSessionData(rawData) |
| 581 | func (s *Session) decodeSessionData(rawData []byte) error { |
| 582 | byteBuffer := byteBufferPool.Get().(*bytes.Buffer) //nolint:forcetypeassert,errcheck // We store nothing else in the pool |
| 583 | defer byteBufferPool.Put(byteBuffer) |
| 584 | defer byteBuffer.Reset() |
| 585 | _, _ = byteBuffer.Write(rawData) |
| 586 | decCache := gob.NewDecoder(byteBuffer) |
| 587 | if err := decCache.Decode(&s.data.Data); err != nil { |
| 588 | return fmt.Errorf("failed to decode session data: %w", err) |
| 589 | } |
| 590 | return nil |
| 591 | } |
| 592 | |
| 593 | // encodeSessionData encodes session data to raw bytes |
| 594 | // |