void connectionAccepted(
      folly::NetworkSocket fdNetworkSocket,
      const folly::SocketAddress& address) noexcept override {
    int fd = fdNetworkSocket.toFd();

    VLOG(2) << "Accepting TCP connection from " << address << " on FD " << fd;

    folly::AsyncTransportWrapper::UniquePtr socket(
        new folly::AsyncSocket(eventBase(), folly::NetworkSocket::fromFd(fd)));

    auto connection = std::make_unique<TcpDuplexConnection>(std::move(socket));
    onAccept_(std::move(connection), *eventBase());
  }
Пример #2
0
char * MessageBuilder::buildEvent(  char const * name, struct LemmaList * value ) const
{
	json_t *array = eventBase(name);
	json_array_append_new(array, LemmaList_Jsonify(value));
    char * string = json_dumps(array, 0);
	json_decref(array);
	return string;
}
Пример #3
0
char * MessageBuilder::buildEvent(  char const * name, double value ) const
{
	json_t *array = eventBase(name);
	json_array_append_new(array, json_real(value));
    char * string = json_dumps(array, 0);
	json_decref(array);
	return string;
}
Пример #4
0
void HealthComponent::damage(float damage, Entity* damager)
{
	/*if (isImmune()){
		mImmuneTimer = sf::Time::Zero;
		return;
	}*/

	if (isImmune())
		damage = 0.f;

	mDamagedFunc(damage, damager);
	mCurrentHealth -= std::abs(damage);
	mWasHealthChanged = true;

	if (damager != mOwnerEntity && damage > 0.f && 
		mOwnerEntity->hasComp<SpriteComponent>())
		mOwnerEntity->comp<SpriteComponent>()->beganBlink();

	EntityGotDamagedEvent::Ptr eventBase(new EntityGotDamagedEvent(mOwnerEntity));
	EventManager::getInstance()->queueEvent(std::move(eventBase));
	
}