plan 9 kernel history: overview | file list | diff list

1991/0608/port/devnonet.c (diff list | history)

1991/0606/sys/src/9/port/devnonet.c:912,9181991/0608/sys/src/9/port/devnonet.c:912,917 (short | long | prev | next)
1991/0119    
	case Cconnected: 
	case Cconnecting: 
1991/0328    
	case Chungup: 
		print("resetting connection\n"); 
1991/0119    
		cp->state = Creset; 
1991/0328    
		cp->rcvcircuit = -1; 
 		bp = allocb(0); 
1991/0606/sys/src/9/port/devnonet.c:1162,11681991/0608/sys/src/9/port/devnonet.c:1161,1167
1991/0328    
	 *  Obey reset even if the message id is bogus 
1990/1210    
	 */ 
1991/0328    
	if(f & NO_RESET){ 
		print("reset received\n"); 
1991/0608    
		DPRINT("reset received\n"); 
1991/0119    
		noreset(cp); 
1991/0328    
		freeb(bp); 
1990/1210    
		return; 
1991/0606/sys/src/9/port/devnonet.c:1181,11901991/0608/sys/src/9/port/devnonet.c:1180,1191
1991/0328    
		case Copen: 
		case Cannounced: 
		case Creset: 
			panic("nonetrcvmsg %d %d\n", cp->rcvcircuit, cp - cp->ifc->conv); 
1991/0608    
			DPRINT("nonetrcvmsg %d %d\n", cp->rcvcircuit, cp - cp->ifc->conv); 
			freeb(bp); 
			return; 
1991/0328    
		case Chungup: 
		case Cconnected: 
			print("Nonet call on connected/hanging-up circ %d conv %d\n", 
1991/0608    
			DPRINT("Nonet call on connected/hanging-up circ %d conv %d\n", 
1991/0328    
				cp->rcvcircuit, cp - cp->ifc->conv);  
			freeb(bp); 
			noreset(cp); 
1991/0606/sys/src/9/port/devnonet.c:1191,11971991/0608/sys/src/9/port/devnonet.c:1192,1198
1991/0328    
			return; 
		case Cconnecting: 
			if(h->mid != mp->mid){ 
				print("Nonet call on connecting circ %d conv %d\n", 
1991/0608    
				DPRINT("Nonet call on connecting circ %d conv %d\n", 
1991/0328    
					cp->rcvcircuit, cp - cp->ifc->conv);  
				freeb(bp); 
				noreset(cp); 
1991/0606/sys/src/9/port/devnonet.c:1266,12711991/0608/sys/src/9/port/devnonet.c:1267,1273
1990/1210    
	if(mp->rem == 0){ 
1991/0119    
		cp->hdr->flag &= ~(NO_NEWCALL|NO_SERVICE); 
		norack(cp, h->ack); 
1991/0608    
		noqack(cp, h->mid); 
1990/1210    
		if(f & NO_ACKME) 
1991/0119    
			noqack(cp, h->mid); 
1990/1210    
		mp->last->flags |= S_DELIM; 
1991/0606/sys/src/9/port/devnonet.c:1457,14661991/0608/sys/src/9/port/devnonet.c:1459,1468
1991/01151    
			 */ 
1991/0118    
			if(cp->first!=cp->next && NOW>=cp->out[cp->first].time){ 
1991/0206    
				mp = &(cp->out[cp->first]); 
1991/0604    
/*				if(cp->rexmit++ > 15){ 
1991/0608    
				if(cp->rexmit++ > 15){ 
1991/0206    
					norack(cp, mp->mid); 
1991/0209    
					noreset(cp); 
1991/0604    
				} else /**/ 
1991/0608    
				} else 
1991/0119    
					nosend(cp, mp); 
1991/01151    
			} 
 
1991/0606/sys/src/9/port/devnonet.c:1469,14751991/0608/sys/src/9/port/devnonet.c:1471,1477
1991/01151    
			 */ 
1991/0207    
			while(cp->afirst!=cp->anext && cp->rq->next->len<16*1024){ 
1991/0108    
				DPRINT("sending ack %d\n", cp->ack[cp->afirst]); 
1991/0606    
				nosendctl(cp, NO_NULL, 0); 
1991/0608    
				nosendctl(cp, /*NO_NULL*/0, 0); 
1991/0108    
			} 
			qunlock(cp); 
		} 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)