in src/datachannel/streaming.go [164:193]
func (dataChannel *DataChannel) Initialize(log log.T, clientId string, sessionId string, targetId string, isAwsCliUpgradeNeeded bool) {
//open data channel as publish_subscribe
log.Debugf("Calling Initialize Datachannel for role: %s", config.RolePublishSubscribe)
dataChannel.Role = config.RolePublishSubscribe
dataChannel.ClientId = clientId
dataChannel.SessionId = sessionId
dataChannel.TargetId = targetId
dataChannel.ExpectedSequenceNumber = 0
dataChannel.StreamDataSequenceNumber = 0
dataChannel.OutgoingMessageBuffer = ListMessageBuffer{
list.New(),
config.OutgoingMessageBufferCapacity,
&sync.Mutex{},
}
dataChannel.IncomingMessageBuffer = MapMessageBuffer{
make(map[int64]StreamingMessage),
config.IncomingMessageBufferCapacity,
&sync.Mutex{},
}
dataChannel.RoundTripTime = float64(config.DefaultRoundTripTime)
dataChannel.RoundTripTimeVariation = config.DefaultRoundTripTimeVariation
dataChannel.RetransmissionTimeout = config.DefaultTransmissionTimeout
dataChannel.wsChannel = &communicator.WebSocketChannel{}
dataChannel.encryptionEnabled = false
dataChannel.isSessionTypeSet = make(chan bool, 1)
dataChannel.isStreamMessageResendTimeout = make(chan bool, 1)
dataChannel.sessionType = ""
dataChannel.IsAwsCliUpgradeNeeded = isAwsCliUpgradeNeeded
}