package telegram

import (
	

	

	
)

func ( *Client) ( context.Context,  int,  bin.Encoder,  bin.Decoder) error {
	.subConnsMux.Lock()

	,  := .subConns[]
	if  {
		.subConnsMux.Unlock()
		return .Invoke(, , )
	}

	,  := .dc(, , 1, .primaryDC())
	if  != nil {
		.subConnsMux.Unlock()
		return errors.Wrapf(, "create connection to DC %d", )
	}
	.subConns[] = 
	.subConnsMux.Unlock()

	return .Invoke(, , )
}