code: func (a *Agent) Push(route string, v interface{}) error {
  	if a.GetStatus() == constants.StatusClosed {
  		return constants.ErrBrokenPipe
  	}
  
  	switch d := v.(type) {
  	case []byte:
  		logger.Log.Debugf("Type=Push, ID=%d, UID=%d, Route=%s, Data=%dbytes",
  			a.Session.ID(), a.Session.UID(), route, len(d))
  	default:
  		logger.Log.Debugf("Type=Push, ID=%d, UID=%d, Route=%s, Data=%+v",
  			a.Session.ID(), a.Session.UID(), route, v)
  	}
  	return a.send(pendingMessage{typ: message.Push, route: route, payload: v})
  }
docs: // Push implementation for session.NetworkEntity interface