| 319 | } |
| 320 | |
| 321 | func (c *Client) recvServerControlGrantedPDU(s []byte) { |
| 322 | glog.Debug("PDU recvServerControlGrantedPDU") |
| 323 | r := bytes.NewReader(s) |
| 324 | pdu, err := readPDU(r) |
| 325 | if err != nil { |
| 326 | glog.Error(err) |
| 327 | return |
| 328 | } |
| 329 | dataPdu, ok := pdu.Message.(*DataPDU) |
| 330 | if !ok || dataPdu.Header.PDUType2 != PDUTYPE2_CONTROL { |
| 331 | if ok { |
| 332 | glog.Error("recvServerControlGrantedPDU ignore datapdu type2", dataPdu.Header.PDUType2) |
| 333 | } else { |
| 334 | glog.Error("recvServerControlGrantedPDU ignore message type", pdu.ShareCtrlHeader.PDUType) |
| 335 | } |
| 336 | c.transport.Once("data", c.recvServerControlGrantedPDU) |
| 337 | return |
| 338 | } |
| 339 | if dataPdu.Data.(*ControlDataPDU).Action != CTRLACTION_GRANTED_CONTROL { |
| 340 | glog.Error("recvServerControlGrantedPDU ignore action", dataPdu.Data.(*ControlDataPDU).Action) |
| 341 | c.transport.Once("data", c.recvServerControlGrantedPDU) |
| 342 | return |
| 343 | } |
| 344 | c.transport.Once("data", c.recvServerFontMapPDU) |
| 345 | } |
| 346 | |
| 347 | func (c *Client) recvServerFontMapPDU(s []byte) { |
| 348 | glog.Debug("PDU recvServerFontMapPDU") |