示例#1
0
storaged_init(storaged_instance *si){
    connectionadaptorinit(&si->adaptor, 8);

        listenon(&si->adaptor, STORAGED_PORT);

        addpacketoperation(&si->adaptor, STORAGE_PROTO_REQ_UPLOAD_FILE, handle_upload);
	L_DEBUG("add packetoperation on type %u\n", STORAGE_PROTO_REQ_UPLOAD_FILE);
        addpacketoperation(&si->adaptor, STORAGE_PROTO_REQ_DOWNLOAD_FILE, handle_download);
	L_DEBUG("add packetoperation on type %u\n", STORAGE_PROTO_REQ_DOWNLOAD_FILE);

    connectionadaptorstart(&si->adaptor);
}
示例#2
0
int acceptor_init(int id, acceptor_instance *acc) {

    L_DEBUG("Acceptor starting, self=%d, acceptors:%d, majority:%d\n", id, N_OF_ACCEPTORS, N_OF_MAJORITY);


    connectionadaptorinit(&acc->adaptor, 8);

        listenon(&acc->adaptor, PAXOS_ACCEPTORS_PORT);
	
        addpacketoperation(&acc->adaptor, prepare_reqs, handle_prepare);
        addpacketoperation(&acc->adaptor, accept_reqs, handle_accept);
        addpacketoperation(&acc->adaptor, repeat_reqs, handle_lsync);

    connectionadaptorstart(&acc->adaptor);
}
示例#3
0
void handshake()
{
  int port = 1234;
  listenon(port);
  struct socket* so = NULL;
  socreate(AF_INET, &so, SOCK_STREAM, 0);
  struct sockaddr_in addr;
  bzero(&addr, sizeof addr);
  addr.sin_len = sizeof addr;
  addr.sin_family = AF_INET;
  addr.sin_port = htons(port);
  addr.sin_addr.s_addr = htonl(0x7f000001);
  struct mbuf* nam = m_devget((caddr_t)&addr, sizeof addr, 0, NULL, NULL);
  soconnect(so, nam);
  ipintr();
}
示例#4
0
文件: uc2bc.c 项目: mbergek/uc2bc
int
main(int argc, char *argv[])
{
	unsigned int sport = 0;
	unsigned int dport = 0;
	char *destination = NULL;
	char *source = NULL;
	int fd;

	int i = 1;
	while(i<argc) {
		
		if(!strcmp(argv[i], "--listen-port") || !strcmp(argv[i], "-i")) {
			sport = atoi(argv[i+1]);
		}
		else if(!strcmp(argv[i], "--broadcast-port") || !strcmp(argv[i], "-o")) {
			dport = atoi(argv[i+1]);
		}
		else if(!strcmp(argv[i], "--broadcast-address") || !strcmp(argv[i], "-b")) {
			destination = argv[i+1];
		}
		else if(!strcmp(argv[i], "--source-address") || !strcmp(argv[i], "-s")) {
			source = argv[i+1];
		}

		i += 2;
	}

	if (sport < 1 || sport > 65535)
		usage(argv[0]);		
	if (dport < 1 || dport > 65535)
		usage(argv[0]);			

	/* Workaround to avoid loop */
	if(dport == sport)
		usage(argv[0]);

	nozombies();

	fd = listenon(sport);
	for (;;) {
		getpacket(fd, sport, destination, dport, source);
	}

	/* NOTREACHED */
	return 0;
}