示例#1
0
ODevice::ODevice()
{
    _impl = new IODeviceImpl(*this);
    setEnabled(true);
    setAsync(true);
    setEof(false);
}
BOOL SetAsyncFromPacket(BowlerPacket * Packet){
	Packet->use.head.Method=BOWLER_POST;
	setAsync(Packet->use.data[0],Packet->use.data[1]);
	Packet->use.head.DataLegnth=4;
	FixPacket(Packet);
	return TRUE;
}
示例#3
0
    void ClientStub::requestTransportFiltersAsync(
        const std::vector<FilterPtr> &filters,
        boost::function0<void> onCompletion)
    {       
        if (getRuntimeVersion() <= 11)
        {
            requestTransportFiltersAsync_Legacy(filters, onCompletion);
            return;
        }

        RcfClientPtr rtfClientPtr( new I_RcfClient("", *this) );
        rtfClientPtr->getClientStub().setTransport( releaseTransport());
        rtfClientPtr->getClientStub().setTargetToken( Token());
        setSubRcfClientPtr(rtfClientPtr);

        setAsync(true);

        OobRequestTransportFilters msg(getRuntimeVersion(), filters);
        ByteBuffer controlRequest;
        msg.encodeRequest(controlRequest);
        rtfClientPtr->getClientStub().setOutofBandRequest(controlRequest);

        Future<Void> fv;

        boost::shared_ptr<std::vector<FilterPtr> > filtersPtr(
            new std::vector<FilterPtr>(filters) );

        fv = rtfClientPtr->getClientStub().ping( RCF::AsyncTwoway( boost::bind(
            &onRtfCompleted, 
            fv,
            rtfClientPtr,
            boost::ref(*this),
            filtersPtr,
            onCompletion)));
    }
示例#4
0
StdinDevice::StdinDevice()
{
    _impl = new IODeviceImpl(*this);
    setEnabled(true);
    setAsync(true);
    setEof(false);
    _impl->open(STDIN_FILENO, true, true);
}
示例#5
0
void TcpSocket::accept(const TcpServer& server, unsigned flags)
{
    close();
    _impl->accept(server, flags);
    setEnabled(true);
    setAsync(true);
    setEof(false);
}
示例#6
0
void TcpSocket::connect(const AddrInfo& addrinfo)
{
    close();
    _impl->beginConnect(addrinfo);
    _impl->endConnect();
    setEnabled(true);
    setAsync(true);
    setEof(false);
}
示例#7
0
bool TcpSocket::beginConnect(const AddrInfo& addrinfo)
{
    close();
    bool ret = _impl->beginConnect(addrinfo);
    setEnabled(true);
    setAsync(true);
    setEof(false);

    if (ret)
        connected(*this);
    return ret;
}
示例#8
0
void main()
{
	int i=0;
	char mymac[6]={0x74,0xf7,0x26,0x00,0x00,0x01};
	unsigned char data[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x04,0x74,0xf7,0x26,0x00,0x00,0x01,0x65,0x00,0x00,0x0a,0x05,0x00,0x01,0x02,0x03,0x05,0x06,0x07,0x08,0x09};

	bowler4_header bh;
	for (i=0; i<sizeof(bowler4_header); i++) bh.bytes[i]=0;
	bh.fields.version=0x04;
	bh.fields.affect=setPriority(5,setState(setAsync(bh.fields.affect)));
	bh.fields.payloadLength=10;
	bh.fields.payloadType=0;


	set_mac_address(mymac,&bh);
	calculate_checksum(&bh);
	printf("Verify?\t%d\n",verify_checksum(&bh));
	printf("Verify?\t%d\n",verify_checksum(&bh));
printf("%X\n",check_mac_address(mymac,&bh) );
	printHeader(bh);


	V4MicroParser_state parser;
	parser.state=align;
	parser.macaddr=&mymac;
	fifoInit(&parser.fifo);
	fifoPrint(&parser.fifo);

	for (i=0; i<sizeof(data); i++){
 		fifoPush(&parser.fifo,data[i]);
		int delta=parser.fifo.inPointer;
		printf("Pushing:\t%i\n",i);
		/*fifoPrint(&parser.fifo);*/
		runParserSM(&parser);
		if (parser.fifo.inPointer!=delta) {printf("\nNew Contents of FIFO:");fifoPrint(&parser.fifo);}

		printf("===================\n");
		

	}
		/* fifoPull(&fifo,15); */
		/* fifoPrint(&fifo); */
}
示例#9
0
    FutureImpl<Void> ClientStub::ping(const CallOptions & callOptions)
    {
        typedef Void V;

        CurrentClientStubSentry sentry(*this);

        setAsync(false);

        return RCF::FutureImpl<V>(
            ::RCF::AllocateClientParameters<
                V
                    ,
                V,V,V,V,V,V,V,V,V,V,V,V,V,V,V >()(
                    *this
                        ,
                    V(),V(),V(),V(),V(),V(),V(),V(),V(),V(),V(),V(),V(),V(),V()).r.get(),
            *this,
            getInterfaceName(),
            -1,
            callOptions.apply(*this),
            "ping",
            "V0");

    }