memory_settings.go 716 B

123456789101112131415161718192021222324252627282930313233
  1. package internet
  2. type MemoryStreamConfig struct {
  3. ProtocolName string
  4. ProtocolSettings interface{}
  5. SecurityType string
  6. SecuritySettings interface{}
  7. SocketSettings *SocketConfig
  8. }
  9. func ToMemoryStreamConfig(s *StreamConfig) (*MemoryStreamConfig, error) {
  10. ets, err := s.GetEffectiveTransportSettings()
  11. if err != nil {
  12. return nil, err
  13. }
  14. mss := &MemoryStreamConfig{
  15. ProtocolName: s.GetEffectiveProtocol(),
  16. ProtocolSettings: ets,
  17. SocketSettings: s.SocketSettings,
  18. }
  19. if s != nil && s.HasSecuritySettings() {
  20. ess, err := s.GetEffectiveSecuritySettings()
  21. if err != nil {
  22. return nil, err
  23. }
  24. mss.SecurityType = s.SecurityType
  25. mss.SecuritySettings = ess
  26. }
  27. return mss, nil
  28. }